Entwickler-Ecke

Windows API - Custom control paint Problem


ase - Mo 09.06.03 18:06
Titel: Custom control paint Problem
Servus

ich habe eine control geschrieben, die sich in einer DLL befindet. Ähnlich der TTreeView die sich in comctrl32.dll oder so befindet.
meine control soll einfach ähnlich einer TScrollBox agieren. bei WM_Paint soll nen Hintergrund gemalt werden. das ganze klappt soweit nur sowie ich eine andere control in meine control einfüge (nen button oder so) malt meine control nur noch nen weißen hintergrund. WM_PAINT wird aber weiterhin empfangen.

hat das nen grund?


thx, ase


Anonymous - Mo 28.07.03 23:34

wie muss man sich dein control vorstellen. GDI ist nicht so einfach, ein Stueck Code koennte u.U. weiterhelfen. Wenn es hier zu indiskret ist gern auch per email (siehe meine homepage).


ase - Mo 28.07.03 23:42

ist ganz einfach gehalten. einfach ne window classe erstellt, dann ne windowproc zur klasse und beim wm_paint einfach nur nen bitmap, von dem ich das handle hatte gemalt.

in der package hatte ich die control gesub-classed. habe ich da dann ne andere control eingefügt (als child), tauchte das angesprochene problem auf.

habe den code leider nicht mehr aber ich würde trotzdem gerne wissen wo mein fehler lag... :oops:


ase


Anonymous - Mo 28.07.03 23:57

War der Button ein Kindcontrol deines Controls?


ase - Di 29.07.03 09:59

jo

so:


Quelltext
1:
2:
  x := tbutton.create(meinecontrol)
  x.parentwindow := meinecontrol.handle;


ich glaube so war des. ich meine ich konnte den auch at design time in meine control ziehen, da war genau das selbe. meine control war da quasi wie nen panel.


ase