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

Вниз

Обработка NM_CUSTOMDRAW в TreeView (WinCE)   Найти похожие ветки 

 
Sax-mmS   (2008-09-27 00:43) [0]

При разработке приложения под WinCE (KOL+Lazarus) появилась необходимость в собственной отрисовке некоторых узлов. По непонятной причине, сообщения c CDDS_ITEMPAINT (да и любые другие, кроме CDDS_PREPAINT) не приходят.

вот пример обрабочика, вешаю через AttachProc
function ProcTVCustomDrawItem( Self_: PControl; var Msg: TMsg; var Rslt: Integer ): Boolean;
var
 CD: PNMLVCustomDraw;
 ...
begin
 Result := False;
 if (Msg.message = WM_NOTIFY) then
 begin
   CD := Pointer( Msg.lParam );
   if longint(CD.nmcd.hdr.code) = NM_CUSTOMDRAW then
   begin
     Rslt := CDRF_DODEFAULT;
     if CD.nmcd.dwDrawStage = CDDS_PREPAINT then
       Rslt := CDRF_NOTIFYITEMDRAW
     else
       MsgOK(Format("0x%x", [CD.nmcd.dwDrawStage]));
   end;
 end;
end;


 
mdw ©   (2008-09-27 16:14) [1]

Посмотри как реализованна отрисовка в TKOLmdvTreeListEdit, там используется пользовательская отрисовка TreeView.


 
Compiler ©   (2008-09-27 17:54) [2]

Может заменить
> if CD.nmcd.dwDrawStage = CDDS_PREPAINT then

на
if LongBool(CD.nmcd.dwDrawStage and CDDS_PREPAINT) then


 
Sax-mmS   (2008-09-28 11:45) [3]

mdw , спасибо а пример. Косяк был в том, я не возвращал Result := True и сообщение уходило на дальнейшую обрабоку.



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

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

Наверх




Память: 0.47 MB
Время: 0.013 c
2-1276185461
Artemon
2010-06-10 19:57
2010.09.05
Вывод времени в QRDBText


15-1276207217
Германн
2010-06-11 02:00
2010.09.05
Хочу создать glyph для кнопки.


2-1276170937
linox
2010-06-10 15:55
2010.09.05
ADO ACCESS связанные таблицы просмотр инфо


15-1276107937
da4
2010-06-09 22:25
2010.09.05
Онлайн музыка


15-1276195781
AKE
2010-06-10 22:49
2010.09.05
Где можно найти какой-нибудь исходный код