RICHEDIT - Работа с полем ввода
Участников: 3
Страница 1 из 1
RICHEDIT - Работа с полем ввода
Люди, покажите подробно как значение строковой переменной вставить в окно ввода RICHEDIT по нажатию кнопки, или наоборот как из окна ввода добавить текст в переменную?
Вот шаблон:
Вот шаблон:
- Код:
#include once "windows.bi"
#include once "win/commctrl.bi"
'' names of window classes.
const WND_CLASS_NAME0 = "my_wnd_class_name_0"
'' identifiers.
const IDC_RICHEDIT0 = 2000
const IDC_BUTTON0 = 2001
'' function prototypes.
declare sub register_classes
declare function message_loop as integer
declare function wnd_proc0(byval thiswnd as hwnd, byval message as uinteger, byval w_param as wparam, byval l_param as lparam) as lresult
declare function create_wnd0 as hwnd
declare sub create_wnd_content0(byval parent as hwnd)
'' global data.
dim shared instance as hmodule
dim shared h_font as HFONT
'' main code.
instance = GetModuleHandle(null)
InitCommonControls
LoadLibrary "RICHED32.DLL"
register_classes
h_font = CreateFont(-11, 0, 0, 0, FW_NORMAL, 0, _
0, 0, ANSI_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, _
DEFAULT_QUALITY, DEFAULT_PITCH or FF_DONTCARE, "Tahoma")
create_wnd0
end message_loop
'' window procedure #0 [window].
function wnd_proc0(byval thiswnd as hwnd, byval message as uinteger, byval w_param as wparam, byval l_param as lparam) as lresult
select case message
case WM_CREATE
create_wnd_content0 thiswnd
case WM_CLOSE
if IDYES = MessageBox(thiswnd, "Quit?", "Event", MB_YESNO or MB_ICONQUESTION) then
DestroyWindow thiswnd
end if
case WM_DESTROY:
PostQuitMessage 0 '' PostQuitMessage(return_code) quits the message loop.
case else
return DefWindowProc(thiswnd, message, w_param, l_param)
end select
return 0
end function
'' create window #0 [window].
function create_wnd0 as hwnd
dim wnd as hwnd
wnd = CreateWindowEx(&h00000108, WND_CLASS_NAME0, "window", &h14CF0000, CW_USEDEFAULT, CW_USEDEFAULT, 400, 300, null, null, instance, null)
ShowWindow wnd, SW_SHOWNORMAL
UpdateWindow wnd
return wnd
end function
'' create window content #0 [window].
sub create_wnd_content0(byval parent as hwnd)
dim wnd as hwnd
wnd = CreateWindowEx(&h00000200, "RICHEDIT", "", &h500110C4, 88, 64, 96, 96, parent, cast(hmenu, IDC_RICHEDIT0), instance, null)
SendMessage wnd, WM_SETFONT, cast(wparam, h_font), TRUE
wnd = CreateWindowEx(&h00000000, "Button", "button", &h50010001, 216, 88, 96, 32, parent, cast(hmenu, IDC_BUTTON0), instance, null)
SendMessage wnd, WM_SETFONT, cast(wparam, h_font), TRUE
end sub
'' register all the window classes.
sub register_classes
dim wc as WNDCLASS
with wc
.cbClsExtra = 0
.cbWndExtra = 0
.hbrBackground = cast(hbrush, COLOR_3DFACE + 1)
.hCursor = LoadCursor(null, byval IDC_ARROW)
.hIcon = LoadIcon(null, byval IDI_APPLICATION)
.hInstance = instance
.lpszMenuName = null
.style = CS_PARENTDC or CS_DBLCLKS
end with
wc.lpfnWndProc = @wnd_proc0
wc.lpszClassName = strptr(WND_CLASS_NAME0)
RegisterClass @wc
end sub
'' message loop.
function message_loop as integer
dim message as MSG
while (GetMessage(@message, null, 0, 0) <> false)
TranslateMessage @message
DispatchMessage @message
wend
DeleteObject h_font
return message.wParam
end function
GeeZeR- Сообщения : 5
Дата регистрации : 2009-06-27
Откуда : Киев
Re: RICHEDIT - Работа с полем ввода
рекомендую сходить сюда
https://freebasic.forum2x2.ru/forum-f7/tema-t118.htm
там много информации по етому (и не только) вопросу
https://freebasic.forum2x2.ru/forum-f7/tema-t118.htm
там много информации по етому (и не только) вопросу
Re: RICHEDIT - Работа с полем ввода
ох, подождите еще пару месяцев, будет вам и richedit, и потсветка синтаксиса, просто пока застрял на одной фишке. вот доделаю все целиком, и тогда выложу.
electrik- Сообщения : 391
Дата регистрации : 2008-09-02
Возраст : 43
Откуда : галактика Млечный путь, система Солнечная, планета Земля, страна россия, город Санкт Петербург
Re: RICHEDIT - Работа с полем ввода
electrik Неужели новая IDE?
GeeZeR- Сообщения : 5
Дата регистрации : 2009-06-27
Откуда : Киев
Страница 1 из 1
Права доступа к этому форуму:
Вы не можете отвечать на сообщения
|
|