An extended method for changing a button's background, text and border color.
- Easily change a button's background, text and border color.
- Automatically set the text colour to white or black depends on the background colour.
- Compatible with AutoHotkey v2.1-alpha.9 or later. (Update: v2.0 is now supported too.)
- Learn more about the ahk v2.1-alpha: Click here
- Download the ColorButton.ahk file.
- Include the ColorButton.ahk file in your script.
- Implement the background color by using the
SetBackColor
method.
/**
* Configures a button's appearance.
* @param {number} bgColor - Button's background color (RGB).
* @param {number} [txColor] - Button text color (RGB). If omitted, the text colour will be automatically set to white or black depends on the background colour.
* @param {boolean} [showBorder=1]
* - `n` : The higher the value, the thicker the button's border when focused.
* - `1` : Highlight when focused.
* - `0` : No border displayed.
* - `-1`: Border always visible.
* - `-n`: The lower the value, the thicker the button's border when always visible.
* @param {number} [borderColor=0xFFFFFF] - Button border color (RGB).
* @param {number} [roundedCorner] - Rounded corner preference for the button. If omitted,
* - For Windows 11: Enabled (value: 9).
* - For Windows 10: Disabled.
*/
SetColor(bgColor, txColor?, showBorder := 1, borderColor := 0xFFFFFF, roundedCorner?)
#Requires AutoHotkey v2
#Include <ColorButton>
/** @type {_BtnColor} */
btn := btn2 := btn3 := btn4 := unset
/* Rounded (Windows 11) or rectangle (Windows 10) button that will get its border on show when it's focused. */
btn := myGui.AddButton("xm w300", "Rounded Button")
btn.SetColor("0xaa2031", "FFFFCC",, "fff5cc", 9)
/* When you press the button each time, the background and text colours of the button swap around. */
btnClicked(btn, *) {
static toggle := 0
static textColor := btn.TextColor
static backColor := btn.BackColor
if (toggle^=1) {
btn.TextColor := btn.BorderColor := backColor
btn.backColor := textColor
} else {
btn.TextColor := btn.BorderColor := TextColor
btn.backColor := backColor
}
}
/* Rounded (Windows 11) or rectangle (Windows 10) button that’s got its border on show all the time. */
btn2 := myGui.AddButton("yp wp", "Border Always Visible")
btn2.SetColor(myGui.BackColor, "fff5cc")
btn2.BorderColor := btn2.TextColor
btn2.ShowBorder := -5
/* Rectangle Button and show border outline when the button's focused. */
btn3 := myGui.AddButton("xm wp", "Rectangle Button")
btn3.SetColor("4e479a", "c6c1f7", 2)
btn3.RoundedCorner := 0
/* Rectangle Button with no border outline. */
btn4 := myGui.AddButton("yp wp", "No Focused Outline")
btn4.SetBackColor("008080",, 0, 0,, "AFEEEE")
myGui.Show("w280 AutoSize")
This project is licensed under the MIT License - see the LICENSE.md file for details.
本程式庫為內建類別 Gui.Button
擴充了一個更改按鈕背景背景、文字和邊框顏色的方法。
- 輕鬆更改按鈕的背景、文字和邊框顏色。
- 自動根據背景色彩的深淺設定文字色彩 (深色背景+白色文字或淺色背景+黑色文字)。
- 支援 AutoHotkey v2.0 或更高版本。
- 想知道更多關於 ahk v2.1-alpha 的資訊,請按這裡。
- 下載 ColorButton.ahk 文件。
- 在您的程式碼中加入 ColorButton.ahk 。
- 使用
SetBackColor
方法變更按鈕背景色彩。
/**
* 設定按鈕的外觀。
* @param {number} bgColor - 按鈕的背景顏色(RGB)。
* @param {number} [txColor] - 按鈕文字顏色(RGB)。如果未指定,文字顏色將根據背景顏色自動設置為白色或黑色。
* @param {boolean} [showBorder=1]
* - `1` : 聚焦時高亮顯示。
* - `0` : 無邊框顯示。
* - `-1`: 邊框始終可見。
* @param {number} [borderColor=0xFFFFFF] - 按鈕邊框顏色(RGB)。
* @param {number} [roundedCorner] - 按鈕的圓角偏好。如果未指定:
* - 對於 Windows 11:啟用(值:9)。
* - 對於 Windows 10:禁用。
*/
SetColor(bgColor, txColor?, showBorder := 1, borderColor := 0xFFFFFF, roundedCorner?)
#Requires AutoHotkey v2
#Include <ColorButton>
/** @type {_BtnColor} */
btn := btn2 := btn3 := btn4 := unset
btn := myGui.AddButton("xm w300", "Rounded Button")
btn.SetColor("0xaa2031", "FFFFCC",, "fff5cc", 9)
btn.OnEvent("Click", btnClicked)
btnClicked(btn, *) {
static toggle := 0
static textColor := btn.TextColor
static backColor := btn.BackColor
if (toggle^=1) {
btn.TextColor := backColor
btn.backColor := textColor
} else {
btn.TextColor := TextColor
btn.backColor := backColor
}
}
btn2 := myGui.AddButton("yp wp", "Border Always Visible")
btn2.SetColor(myGui.BackColor, "fff5cc")
btn2.BorderColor := btn2.TextColor
btn2.ShowBorder := -1
btn3 := myGui.AddButton("xm wp", "Rectangle Button")
btn3.SetColor("4e479a", "c6c1f7")
btn3.RoundedCorner := 0
btn4 := myGui.AddButton("yp wp", "No Focused Outline")
btn4.SetBackColor("008080",, 0, 0,, "AFEEEE")
myGui.Show("w280 AutoSize")
本項目根據 MIT 許可證進行許可 - 請參閱 LICENSE.md 文件以獲取詳細資訊。
Proširena metoda za promenu boje pozadine dugmeta.
- Lako promenite boju pozadine dugmeta.
- Kompatibilno sa AutoHotkey v2.0 ili novijim verzijama.
- Saznajte više o ahk v2.1-alpha: Kliknite ovde
- Preuzmite ColorButton.ahk datoteku.
- Uključite ColorButton.ahk datoteku u vaš skript.
- Implementirajte boju pozadine koristeći
SetBackColor
metodu.
/**
* @param {integer} btnBgColor Button's background color. (RGB)
* @param {integer} [colorBehindBtn] The color of the button's surrounding area. If omitted, if will be the same as `myGui.BackColor`. **(Usually let it be transparent looks better.)**
* @param {integer} [roundedCorner] Specifies the rounded corner preference for the button. If omitted, :
* > For Windows 11: Enabled. (value: 9)
* > For Windows 10: Disabled.
* @param {Integer} [showFocusedBorder=true] Highlight the border of the button when it's focused.
*/
SetBackColor(btnBgColor, colorBehindBtn?, roundedCorner?, showFocusedBorder := true)
#Requires AutoHotkey v2
#Include <ColorButton>
myGui := Gui()
myGui.SetFont("cWhite s20", "Segoe UI")
myGui.BackColor := 0x2c2c2c
/** @type {_BtnColor} */
btn := myGui.AddButton("w300", "Rounded Button")
btn.SetBackColor(0xaa2031,, 9)
/** @type {_BtnColor} */
btn2 := myGui.AddButton("wp", "No Focused Outline")
btn2.SetBackColor(0xffd155,, 9, false)
/** @type {_BtnColor} */
btn3 := myGui.AddButton("wp", "Rectangle Button")
btn3.SetBackColor("0x7755ff",, 0)
/** @type {_BtnColor} */
btn4 := myGui.AddButton("wp", "No Focused Outline")
btn4.SetBackColor("0x55ffd4", , 0, 0)
myGui.Show("w280 AutoSize")
Ovaj projekat je licenciran pod MIT Licencom - za detalje pogledajte LICENSE.md datoteku.