Foro | | | | ![Georg Hovenbitzer: 05.12.2011](.././../../i/a/199623250643725492e11ec.jpg) Georg Hovenbitzer | ¡Hola zusammen,
el Wetter se draußen schlechter y ya sitzt uno mehr al Rechner y intenta veces otra vez qué a Programmieren. Aber como así es tauchen direkt el Problemas y Fragen en y yo hoffe ihr könnt me helfen.
Der Anhängende Code erstellt una Rebar con uno Liste en el linken Página y una más ReBar en el rechten. Im zweiten befindet se oben una List y unten una Static Feld worauf zwei Listen gesetzt son.
Folgende Fragen Yo nun: Como ermittle Yo, si rechts unten en un el beiden Listen una Eintrag ausgewählt se si esta Ventana en el Static producido fueron? Wenn Yo esta beiden Ventana en el ReBar2 erstelle komme Yo zwar a el ausgewählten Eintrag, aber con el Neuzeichnen des Ventana klappt no mehr, como bekomme Yo si dieses hin? En el ersten ReBar con el senkrechten Trennung se el Mauszeiger a una Pfeil con zwei Spitzen si uno encima ihm es, en wagenrechten Trennung geschieht esto no es, puede ser dies ändern? Gibt lo una otro, tal vez bessere Solución así una Unterteilung darzustellen?
Viele Grüße Georg
$H windows.ph
$H messages.ph
$H commctrl.ph
Cls
Título de la ventana "RedBar"
Ventana 0,0-1024,768
Struct ReBar = Size&, \
Mask&, \
Style&, \
clrFore&, \
clrBack&, \
lpText&, \
cch&, \
iImage&, \
hwndChild&, \
cxMinChild&, \
cyMinChild&, \
cx&, \
hbmBack&, \
wID&, \
cyChild&, \
cyMaxChild&, \
cyIntegral&, \
cxIdeal&, \
lParam&, \
cxHeader&
Declarar ReBar#
Dim ReBar#,ReBar
Claro ReBar#
Var ReBar1& = @Control("ReBarWindow32","",(~WS_CHILD | ~WS_VISIBLE | ~CCS_NORESIZE | ~WS_BORDER | ~WS_CLIPCHILDREN | ~WS_CLIPSIBLINGS | ~RBS_VARHEIGHT | ~RBS_AUTOSIZE),2,2,800,700,%hWnd,200,%hInstance,0)
Var lb1& = @Crear("ListBox",ReBar1&,0,0,0,0,0)
Var ReBar2& = @Control("ReBarWindow32","",(~WS_CHILD | ~WS_VISIBLE | ~CCS_NORESIZE | ~CCS_VERT | ~WS_BORDER | ~WS_CLIPCHILDREN | ~WS_CLIPSIBLINGS | ~RBS_VARHEIGHT | ~RBS_AUTOSIZE),0,0,400,350,%hwnd,200,%hInstance,0)
Var lb2& = Crear("ListBox",ReBar2&,0,0,0,0,0)
'Ventana mentira en el Static Feld
'Var lb3& = Crear("Text",ReBar2&,"",0,0,0,0)
'Var lb4& = Crear("ListBox",lb3&,0,10,10,100,50)
'Var lb5& = Crear("ListBox",lb3&,0,50,150,70,100)
'Ventana mentira en el ReBar&
Var lb3& = Crear("Text",ReBar2&,"",0,0,0,0)
Var lb4& = Crear("ListBox",ReBar2&,0,10,520,100,50)
Var lb5& = Crear("ListBox",ReBar2&,0,150,550,70,100)
With ReBar#
.Size& = @SizeOf(ReBar#)
.Mask& = (~RBBIM_CHILD | ~RBBIM_CHILDSIZE | ~RBBIM_SIZE | ~RBBIM_STYLE | ~RBBIM_IDEALSIZE | ~RBBIM_ID | ~RBBIM_TEXT)
.Style& = ~RBBS_NOGRIPPER
.clrFore& = 0
.clrBack& = 0
.lpText& = 0
.cch& = 0
.iImage& = 0
.hwndChild& = lb2&
.cxMinChild& = 100
.cyMinChild& = 700
.cx& = 500
.hbmBack& = 0
.wID& = 0
.cyChild& = 0
.cyMaxChild& = 800
.cyIntegral& = 0
.cxIdeal& = 0
.lParam& = 0
.cxHeader& = 0
@SendMessage(ReBar2&,~RB_INSERTBAND,0,ReBar#)
.Style& = ~RBBS_GRIPPERALWAYS
.clrFore& = 0
.clrBack& = 0
.lpText& = 0
.cch& = 0
.iImage& = 0
.hwndChild& = lb3&
.cxMinChild& = 100
.cyMinChild& = 700
.cx& = 200
.hbmBack& = 0
.wID& = 0
.cyChild& = @Width(ReBar2&)
.cyMaxChild& = 800
.cyIntegral& = 0
.cxIdeal& = 0
.lParam& = 0
.cxHeader& = 0
@SendMessage(ReBar2&,~RB_INSERTBAND,1,ReBar#)
EndWith
Claro ReBar#
With ReBar#
.Size& = @SizeOf(ReBar#)
.Mask& = (~RBBIM_CHILD | ~RBBIM_CHILDSIZE | ~RBBIM_SIZE | ~RBBIM_STYLE | ~RBBIM_IDEALSIZE | ~RBBIM_ID | ~RBBIM_TEXT)
.Style& = ~RBBS_NOGRIPPER
.clrFore& = 0
.clrBack& = 0
.lpText& = 0
.cch& = 0
.iImage& = 0
.hwndChild& = lb1&
.cxMinChild& = 80
.cyMinChild& = 0
.cx& = 800
.hbmBack& = 0
.wID& = 0
.cyChild& = @Height(ReBar1&)
.cyMaxChild& = @Height(ReBar1&)
.cyIntegral& = 0
.cxIdeal& = 0
.lParam& = 0
.cxHeader& = 0
@SendMessage(ReBar1&,~RB_INSERTBAND,0,ReBar#)
.Style& = ~RBBS_GRIPPERALWAYS
.clrFore& = 0
.clrBack& = 0
.lpText& = 0
.cch& = 0
.iImage& = 0
.hwndChild& = ReBar2&
.cxMinChild& = 100
.cyMinChild& = @Height(ReBar1&) - 6
.cx& = 800
.hbmBack& = 0
.wID& = 0
.cyChild& = @Height(ReBar1&)
.cyMaxChild& = @Height(ReBar1&)
.cyIntegral& = 0
.cxIdeal& = 0
.lParam& = 0
.cxHeader& = 0
@SendMessage(ReBar1&,~RB_INSERTBAND,1,ReBar#)
EndWith
ClearList
AddFonts
MoveListToHandle(lb1&)
MoveListToHandle(lb2&)
MoveListToHandle(lb4&)
MoveListToHandle(lb5&)
whilenot IsKey(27)
waitinput
If @Clicked(lb1&)
Localizar 2,105
Imprimir @GetString$(lb1&,@GetCurSel(lb1&))
ElseIf @Clicked(lb2&)
Localizar 4,105
Imprimir @GetString$(lb2&,@GetCurSel(lb2&))
ElseIf @Clicked(lb4&)
Localizar 6,105
Imprimir @GetString$(lb4&,@GetCurSel(lb4&))
ElseIf @Clicked(lb5&)
Localizar 8,105
Imprimir @GetString$(lb5&,@GetCurSel(lb5&))
EndIf
EndWhile
@DestroyWindow(ReBar1&)
@DestroyWindow(ReBar2&)
Disponer ReBar#
End
|
| | | Viele Grüsse, Georg Hovenbitzer(Windows XP Pro, XProfan 11.2, Profan2Cpp 1.6a) | 05.12.2011 ▲ |
| |
| | ![Uwe Pascal Niemeier: 09.12.2011](.././../../i/a/1470490353453dc4c350ec9.jpg) Uwe ''Pascal'' Niemeier | Hi Georg!
Como ermittle Yo, si rechts unten en un el beiden Listen una Eintrag ausgewählt se si esta Ventana en el Static producido fueron?
Yo verwende en así una Fall (mehrere Elemente en un Band) una rahmenlosen Diálogo, el Yo el Band zuteile: var dlg&=control("Dialog","dlg",$50000000,0,0,100,100,%hwnd,1,0) Außerdem puede/debería todos Elemente, el el Rebar direkt unterstellt son, como Parent la ventana principal haben.
Wenn Yo esta beiden Ventana en el ReBar2 erstelle komme Yo zwar a el ausgewählten Eintrag, aber con el Neuzeichnen des Ventana klappt no mehr, como bekomme Yo si dieses hin?
En ReBars bajo Profano hay erhebliche Problemas con el Neuzeichnen, auch después de Messageboxen, Menüs u.Ä. (Wahrscheinlich, porque el ReBar el Reihenfolge el Elemente, durcheinanderbringt y el entonces no mehr con el Profano-internen übereinstimmt). Mir hilft como en Bedarf una ~RedrawWindow(%hwnd,0,0,$485)
En el ersten ReBar con el senkrechten Trennung se el Mauszeiger a una Pfeil con zwei Spitzen si uno encima ihm es, en wagenrechten Trennung geschieht esto no es, puede ser dies ändern?
Posesiones el veces por SubClassing gelöst, allerdings manuell (encima ProcAddr/SetWindowLong), weil's en Profano todavía no SubClassProc gab. Dabei wurde una Notify-Message des ReBars abgefangen y Mauszeiger gezielt gesetzt. Müßte Yo en Bedarf veces raussuchen y nacharbeiten.
HTH Pascal |
| | | | |
|
RespuestaThemeninformationenDieses Thema ha 2 subscriber: |