Von Thomas Hölzer am 22 April, 1998 um 01:38:26:
Antwort auf: Re: Edits und ToolTip von Udo am 21 April, 1998 um 20:11:56:
So ganz stilecht wird der 3D-Rand erst, wenn man das Edit-Control mit @Control erzeugt und ihm dann ws_ex_clientedge (das ist $512) verpasst. Beim mit Create(Multi)Edit erzeugten Control bleibt nämlich immer noch der schwarze Rand.
BTW: Man kann das ganze durchaus auch auf andere Controls anwenden und dabei einige interessante Effekte erzielen (CreateListbox hat es sowieso nötig, es lohnt aber auch mit CreateText, CreateCheckbox, CreateRadioButton).
Hier ein Beispiel für ein stilechtes Multiedit, mit dem ich schleichwerbend darauf hinweise, daß die PRFellow-Version 2.50 das alles (im Quelltext) enthält und seit ein paar Tagen auf meiner HP geladen werden kann.
MfG
Thomas
Def SetWindowLong(3) !"USER32", "SetWindowLongA"
Def GetModuleHandle(1) !"KERNEL32","GetModuleHandleA"
Proc Create3DMultiEdit
Parameters hwnd%,txt$,x%,y%,x1%,y1%,id%
Declare hedit&
Let hedit&=Control("Edit",txt$,$54010044,0,0,1,0,hwnd%,id%,GetModuleHandle(0))
SetWindowLong(Hedit&,-20,$200)
SetWindowPos Hedit&=x%,y%-x1%,y1%
Return hedit&
EndProc
Declare Edit&
SetTrueColor 1
Cls RGB(192,192,192)
Create3DMultiEdit %hwnd,"MultiEdit mit stilechtem 3D-Rand",200,10,200,200,2000
Let edit&=@&(0)
WaitInput