Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.04.29;
Скачать: CL | DM;

Вниз

Собственная отрисовка PopupMenu   Найти похожие ветки 

 
Бригадир   (2007-03-02 09:06) [0]

Создаю пункты меню с флагом MF_OWNERDRAW, чтобы можно было их перерисовывать в WM_DRAWITEM, что не соображу как сделать сбытие OnClick, подскажите пожалуйста.

private
   { Private declarations }
   procedure WMMeasureItem(var Msg: TWMMeasureItem); message WM_MEASUREITEM;
   procedure WMDrawItem(var Msg: TWMDrawItem); message WM_DRAWITEM;

var
 MyMenu: HMenu;

procedure TForm1.WMMeasureItem(var Msg:TWMMeasureItem);
begin
 with Msg.MeasureItemStruct^ do
 begin
   ItemWidth:=100;
   Itemheight:=18;
 end;
end;

procedure TForm1.WMDrawItem(var Msg: TWMDrawItem);
begin
 with Msg.DrawItemStruct^ do
 begin
   if ItemID = SC_MyMenuItem then
   begin
   if (itemState and ODS_SELECTED) <> 0 then
     SetTextColor(hDC, clRed)
   else
    SetTextColor(hDC, clGreen);
   end;
   TextOut(hDC, rcItem.Left + 2, rcItem.Top + 2, "Menu Item Caption", Length("Menu Item Caption"));
 end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
 MyMenu:= CreatePopupMenu;
 AppendMenu(MyMenu, MF_OWNERDRAW, SC_MyMenuItem, "");
end;

procedure TForm1.FormClick(Sender: TObject);
begin
 TrackPopupMenu(MyMenu, TPM_LEFTALIGN, Mouse.CursorPos.X, Mouse.CursorPos.Y, 0, Handle, nil);
end;


 
clickmaker ©   (2007-03-02 10:23) [1]

procedure WMCommand(var Msg: TWMCommand); message WM_COMMAND;



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

Текущий архив: 2007.04.29;
Скачать: CL | DM;

Наверх




Память: 0.44 MB
Время: 0.047 c
3-1170350971
Ёжик из тумана
2007-02-01 20:29
2007.04.29
Транзакции в хранимках


9-1148897218
аматор
2006-05-29 14:06
2007.04.29
каким образом создать модель?


2-1175957800
Lamer666
2007-04-07 18:56
2007.04.29
поиск DBGridEH field name "not found


2-1176264106
pirate
2007-04-11 08:01
2007.04.29
Двунаправленные списки


2-1176299333
BatonPolnii
2007-04-11 17:48
2007.04.29
Округление чисел





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский