Главная страница
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.01 c
2-1276157798
novichek
2010-06-10 12:16
2010.09.05
работа с БД


2-1276234656
ruslan_as
2010-06-11 09:37
2010.09.05
Не могу получить значение


15-1276250125
WHR
2010-06-11 13:55
2010.09.05
Возможно ли отправить почту, если протокол POP3 закрыт?


6-1226058064
Buckazoid
2008-11-07 14:41
2010.09.05
Права доступа пользователей домена


2-1275988679
И. Павел
2010-06-08 13:17
2010.09.05
Как определить, что приложение освободилось?