singlepost

Delphi Win API- Combobox << На главную или назад  

Помогите, пожалуйста! Нуэно написать с помощью API в делфи комбобокс, написала вот что

ComboBox1:=CreateWindow('COMBOBOX',0,WS_CHILD or WS_VISIBLE or CBS_DR?1?PDOWN or WM_LBUTTONUP or WS_TABSTOP,10,100,90,100,handleWnd,0,hinstance,nil);
SendMessage(Combobox1,CB_SHOWDR?1?PDOWN,1,0);
SendMessage(Combobox1,CB_SHOWDR?1?PDOWN,0,0);

SendMessage(Combobox1,CB_ADDSTRING,0,longint(pchar('one')));
SendMessage(Combobox1,CB_ADDSTRING,0,longint(pchar('two')));
SendMessage(Combobox1,CB_ADDSTRING,0,longint(pchar('three')));
SendMessage(Combobox1,CB_ADDSTRING,0,longint(pchar('four')));
все вроде работает вот только по клику мышкой разворачивается, а сворачивается тоьлко при выборе строки и нажатии интер, а иначе не закрыть и прогу не завершить

47 ответов в теме “Delphi Win API- Combobox”

  1. 3
    Василий Some ответил:

    посмотри тут //msdn.microsoft.com/en-us/library/bb775792%28V...

    имхо как-то так
    hCombo:=CreateWindow("COMBOBOX", "combobox",WS_CHILD | WS_VISIBLE | CBS_SORT | CBS_DR?1?PDOWNLIST, 10, 50, 250, 20, hWindow, 0, hInstance, nil);

    SendMessage(hCombo, CB_ADDSTRING, 0, longint(pchar('T1')) );
    SendMessage(hCombo, CB_ADDSTRING, 0, longint(pchar('T2')));
    SendMessage(hCombo, CB_ADDSTRING, 0, longint(pchar('T3')));

  2. 2
    Мирослава Богорад ответил:

    я не знаю, надеялась что эта штука будет отвечать за мышку, делаю по сути методом тыка

  3. 1
    Александр Чигринец ответил:

    Не вполне понятно, зачем в параметрах создания комбобокса указано WM_LBUTTONUP? Это константа совсем из другой оперы. Какие флаги она устанавливает при создании комбобокса это ещё посмотреть нужно.

Клуб программистов работает уже ой-ой-ой сколько, а если поточнее, то с 2007 года.