Тема: AHK: Прозрачный текст
Как наложить на поле "Edit" прозрачный текст, но он не выделяется. Например на поле ввода для пароля пишется "Пароль", для логина "Логин"
Может вы поняли, а может нет. Кто понял напишите исходный код.
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Как наложить на поле "Edit" прозрачный текст, но он не выделяется. Например на поле ввода для пароля пишется "Пароль", для логина "Логин"
Может вы поняли, а может нет. Кто понял напишите исходный код.
Так?
Gui, Add, Edit, x0 y0 w125 h20 hwndhLogin,
Gui, Add, Edit, x0 y25 w125 h20 hwndhPass,
Gui, Show, w131 h54,
SetEdit(hLogin, "Login")
SetEdit(hPass, "Password")
return
GuiClose:
ExitApp
SetEdit(HWND, Text) {
static Set := 0x1500 + 1
return DllCall("User32.dll\SendMessage", "Ptr", HWND, "UInt", Set, "Ptr", True, "WStr", Text)
}Прикольно, а Я не знал про такую фишку. А зачем там SendMessage через DllCall, вроде и так работает:
Gui, +AlwaysOnTop
Gui, Add, Edit, w125 hwndhLogin
Gui, Add, Edit, y+5 wp hwndhPass
Gui, Show
EM_SETCUEBANNER(hLogin, "Login")
EM_SETCUEBANNER(hPass, "Password", 0)
return
; showfocus 1 - показывать подсказку когда в фокусе, 0 - непоказывать подсказку когда в фокусе
EM_SETCUEBANNER(HWND, Text, showfocus=1) {
SendMessage, 0x1501, showfocus, &Text, , ahk_id %HWND%
}
А зачем там SendMessage через DllCall
Просто привык с DllCall работать
.
Я бы так сделал:
Gui, +AlwaysOnTop
Gui, Add, Text, vText
Gui, Add, Edit, yp xp w125 hwndhLogin
Gui, Add, Edit, y+5 wp hwndhPass
GuiControl, Focus, Text
SendMessage, EM_SETCUEBANNER := 0x1501, 0, "Login",, ahk_id %hLogin%
SendMessage, EM_SETCUEBANNER, 0, "Password",, ahk_id %hPass%
Gui, ShowЯ заодно напомню про маскирующие символы.
Gui, +AlwaysOnTop
Gui, Add, Edit, w125 Password# hwndhLogin
Gui, Add, Edit, y+5 Password wp hwndhPass
Gui, Show
EM_SETCUEBANNER(hLogin, "Login")
EM_SETCUEBANNER(hPass, "Password", 0)
return; showfocus 1 - показывать подсказку когда в фокусе, 0 - непоказывать подсказку когда в фокусе
EM_SETCUEBANNER(HWND, Text, showfocus=1) {
SendMessage, 0x1501, showfocus, &Text, , ahk_id %HWND%
}
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться