FreeBasic
Вы хотите отреагировать на этот пост ? Создайте аккаунт всего в несколько кликов или войдите на форум.

RICHEDIT - Работа с полем ввода

Участников: 3

Перейти вниз

RICHEDIT - Работа с полем ввода Empty RICHEDIT - Работа с полем ввода

Сообщение  GeeZeR Сб Июн 27, 2009 9:06 pm

Люди, покажите подробно как значение строковой переменной вставить в окно ввода 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
GeeZeR

Сообщения : 5
Дата регистрации : 2009-06-27
Откуда : Киев

Вернуться к началу Перейти вниз

RICHEDIT - Работа с полем ввода Empty Re: RICHEDIT - Работа с полем ввода

Сообщение  tux Вс Июн 28, 2009 7:17 am

рекомендую сходить сюда
https://freebasic.forum2x2.ru/forum-f7/tema-t118.htm
там много информации по етому (и не только) вопросу
tux
tux

Сообщения : 365
Дата регистрации : 2008-04-06
Возраст : 36
Откуда : Сибирь

http://tux.nsk.ru/

Вернуться к началу Перейти вниз

RICHEDIT - Работа с полем ввода Empty Re: RICHEDIT - Работа с полем ввода

Сообщение  electrik Вс Июн 28, 2009 1:05 pm

ох, подождите еще пару месяцев, будет вам и richedit, и потсветка синтаксиса, просто пока застрял на одной фишке. вот доделаю все целиком, и тогда выложу.

electrik

Сообщения : 391
Дата регистрации : 2008-09-02
Возраст : 43
Откуда : галактика Млечный путь, система Солнечная, планета Земля, страна россия, город Санкт Петербург

Вернуться к началу Перейти вниз

RICHEDIT - Работа с полем ввода Empty Re: RICHEDIT - Работа с полем ввода

Сообщение  GeeZeR Вс Июн 28, 2009 1:32 pm

electrik Неужели новая IDE? What a Face
GeeZeR
GeeZeR

Сообщения : 5
Дата регистрации : 2009-06-27
Откуда : Киев

Вернуться к началу Перейти вниз

Вернуться к началу

- Похожие темы

 
Права доступа к этому форуму:
Вы не можете отвечать на сообщения