Вниз
Скачать: CL | DM;

Combobox на Api   Найти похожие ветки 

 
Nick Denry ©   (2003-03-06 14:11) [0]

Программисты! Помогите с comobobox"ом! Создаю комбобокс через
CreateWindow("Combo"....,ws_children or ws_show or cbs_hasstrings or Cbs_dropdown....
вставляю в него строки через
SendMessage(combo1,cb_addstring,.... и посылаю сообщение
sendMessage(combo1,cb_showdropdown,integer(bool(true))); а он не дропдаунится! Что неправильно? помогите плз!


 
gsu ©   (2003-03-06 14:28) [1]

Читай SendMessage и ее параметры


 
Nick Denry ©   (2003-03-06 14:34) [2]

В том то и дело, что если по дельфийским Windows SDK то все вроде правильно! (может у кого примерчик есть!)


 
Игорь Шевченко ©   (2003-03-06 15:54) [3]


unit main;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;

type
TForm1 = class(TForm)
ComboBox1: TComboBox;
Button1: TButton;
procedure FormCreate(Sender: TObject);
private
HCombo : HWND;
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);
begin
HCombo := CreateWindow("COMBOBOX", nil,
WS_VISIBLE or WS_CHILD or CBS_DROPDOWN or CBS_HASSTRINGS,
ComboBox1.Left, ComboBox1.Top,
ComboBox1.Width, ComboBox1.Height * 8, Handle, 0, hInstance, nil);
//Все дело в том, что при создании ComboBox"а ему надо указывать
// высоту с учетом выпадающего списка

if HCombo = 0 then
RaiseLastWin32Error;
if SendMessage(HCombo, CB_ADDSTRING, 0, LPARAM(PChar("Строка 1"))) =
CB_ERR then
RaiseLastWin32Error;
if SendMessage(HCombo, CB_ADDSTRING, 0, LPARAM(PChar("Строка 2"))) =
CB_ERR then
RaiseLastWin32Error;
SendMessage(HCombo, WM_SETTEXT, 0, LPARAM(PChar("Строка 2")));
ComboBox1.Free;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
SendMessage(hCombo, CB_SHOWDROPDOWN, 1, 0);
end;

end.



 
Nick Denry ©   (2003-03-07 09:34) [4]

2Игорь Шевченко © Спасибо большое!



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.009 c
3-12631
Avreliy
2003-04-15 21:02
2003.05.05
Отмена Post!


1-12735
Nikos
2003-04-22 19:11
2003.05.05
Как восстановить текст, который был в поле Memo?


6-12854
OxOTHuK
2003-03-08 09:58
2003.05.05
Потоки....


7-12954
OxOTHuK
2003-03-10 07:39
2003.05.05
Права


14-12867
SammIk
2003-04-16 16:41
2003.05.05
Работа с указателями




   Наверх