Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Combobox на Api [D5, D6, D7, Win95/98, WinME, NT4, Win2k, WinXP]


Nick Denry ©   (2003-03-06 14:11:00) 

Программисты!Помогите с 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))); а он не дропдаунится!Что неправильно? помогите плз!


Nick Denry   (2003-03-07 09:34:00) [1]

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


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


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-06 14:34:00) [3]

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


gsu   (2003-03-06 14:28:00) [4]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо