Форум: "WinAPI";
Текущий архив: 2003.05.05;
Скачать: [xml.tar.bz2];
Вниз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 вся ветка
Форум: "WinAPI";
Текущий архив: 2003.05.05;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.006 c