| Код | program BLACK_KOT;
uses Messages,Windows;
var Form1,ComboBox1,ListBox1 : HWND; BLACK_KOT_window: TWndClass; Msg: TMsg;
procedure setFont(w:HWND); //устанасливает шрифт по умолчанию begin SendMessage(w,WM_SETFONT,GetStockObject(ANSI_VAR_FONT),1); end;
//--------------------главный обработчик сообщений function WndProc(hnd, wmsg, wparam, lparam: integer): integer; stdcall; begin Result:=0; case wmsg of WM_CREATE: begin ComboBox1:=CreateWindowEx(0, 'ComboBox', 'ComboBox1', CBS_DROPDOWN or WS_VISIBLE or WS_CHILD,104, 32, 145,21, hnd, 0, HInstance, nil);setFont(ComboBox1); SendMessage(ComboBox1,CB_ADDSTRING,0,integer(pchar('первая строка'))); SendMessage(ComboBox1,CB_ADDSTRING,0,integer(pchar('вторая строка'))); // ПОЧЕМУ СТРОКИ НЕ ДОБАВЛЯЮТСЯ ? ? ????????????? SendMessage(ComboBox1,CB_ADDSTRING,0,integer(pchar('третья строка'))); SendMessage(ComboBox1,CB_INSERTSTRING,0,integer(pchar('4 строка')));
ListBox1:=CreateWindowEx(WS_EX_CLIENTEDGE, 'ListBox', '', WS_VSCROLL or WS_VISIBLE or WS_CHILD,32, 64, 233,97, hnd, 0, HInstance, nil);setFont(ListBox1); SendMessage(ListBox1,LB_ADDSTRING,0,integer(pchar('первая строка'))); SendMessage(ListBox1,LB_ADDSTRING,0,integer(pchar('вторая строка'))); // А ЗДЕСЬ ДОБАВЛЯЮТСЯ !!!!!!!!!!!!! SendMessage(ListBox1,LB_ADDSTRING,0,integer(pchar('третья строка'))); SendMessage(ListBox1,LB_INSERTSTRING,3,integer(pchar('4 строка'))); end; WM_DESTROY: PostQuitMessage(0); else Result:=DefWindowProc(hnd, wmsg, wparam, lparam); end; end;
Procedure CreateMySelf; begin with BLACK_KOT_window do begin lpszClassName:='BLACK_KOT_window'; lpfnWndProc:=@WndProc; hCursor:=LoadCursor(hInstance, IDC_ARROW); hbrBackground:=COLOR_3DSHADOW; end; RegisterClass(BLACK_KOT_window); Form1:=CreateWindowEx(0, 'BLACK_KOT_window','Form1', WS_OVERLAPPEDWINDOW or WS_VISIBLE,346, 216, 355,200, 0, 0, HInstance, nil);setFont(Form1);; end;
begin CreateMySelf; while GetMessage(Msg, 0, 0, 0) do begin TranslateMessage(Msg); DispatchMessage(Msg); end; end.
|
КАК ДОБАВИТЬ СТРОКИ В ComboBox ???? |