Español
Foro

ReBar Fragen/Problemas

 

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
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
 
09.12.2011  
 



Respuesta


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

3.224 Views

Untitledvor 0 min.
Jörg Sellmeyer16.06.2020
ByteAttack25.11.2015
Andreas Koch14.09.2015
Peter Max Müller22.09.2014
Más...

Themeninformationen



Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie