Español
Fuente/ Codesnippets

Dialogfenter Multiedit Problemlösung Tab Taste

 
Michael Dells Problemlösung para Tab-Taste en el Multiedit en Dialogfenster

KompilierenMarcaSeparación
**** Hiermit können bis zu 40 (0-39) MultiEdits auf Statics erzeugt und zerstört werden ****
Befehle: cMEDwStc(ControlNr&,dHndl&,EditArt&,Text$,x&,y&,cx&,cy&,zusatzStil&)
--> erstsellt Edits auf einem Static (macht das Edit Unabhängig vom übergeordneten Fenster!)
-- ControlNr&    = Nummer des Controls (0-39 beginnt bei 0 & wird immer um eins erhöht)
-- dHndl&        = Handle des übergeordneten Dialogs
-- EditArt&      = 0 => MultiEdit / 1 => RichEdit
-- Text$         = erster Text der im Edit erscheinen soll sonst =>
-- zusatzStil&   = bei 1 => wird nur das Static mit hellem Hintergrund erzeugt,
das dient zum Platzieren des Controls (Entwicklung) sonst => 0
KillMEDwStc(MaxControlNr&)
--> Killt alle mit cMEDwStc erstellten Controls
-- MaxControlNr& = die höchste Control Nummer (bei 2 erzeugten also 1)
gStcHandl(ControlNr&)
--> gibt das Handle des Controls (Static mit ControlNr&) zurück
gMedHandl(ControlNr&)
--> gibt das Handle des Controls (Edit mit ControlNr&) zurück
DEF ASetParent(2) ! USER32,SetParent
Declare MED1&[40,2]  MED1&[CtrlNr&,0] = Static Handle / MED1&[CtrlNr&,1] = Edit Handle
Clear MED1&[]

Proc cMEDwStc  erstsellt Edits auf einem Static (macht das Edit Unabhängig vom übergeordneten Fenster!)

    Parameters CtrlNr&,dHndl&,Art&,Txt$,x&,y&,cx&,cy&,zStil&
    Case Lt(CtrlNr&,0) Or Gt(CtrlNr&,39): Return -1
    Case Lt(Art&,0) Or Gt(Art&,1): Return -1
    Case Lt(zStil&,0) Or Gt(zStil&,1): Return -1
    Case Equ(zStil&,1): zStil& = $06
    Declare erg$
    MED1&[CtrlNr&,0] = Control(Static,,Or($D0000120,zStil&),x&,y&,cx&,cy&,dHndl&,Add($a8000,CtrlNr&),0)  StaticUnterlage
    ASetParent(MED1&[CtrlNr&,0],dHndl&)

    IfNot (zStil& = 6)

        MED1&[CtrlNr&,1] = Control(Edit,,$50B000C4,0,0,cx&,cy&,MED1&[CtrlNr&,0],Add($a8000,CtrlNr&),0,$000200)  EditMultiline
        Case (Art& = 0): MED1&[CtrlNr&,1] = Create(MultiEdit,MED1&[CtrlNr&,0],Txt$,0,0,cx&,cy&)
        Case (Art& = 1): MED1&[CtrlNr&,1] = Create(RichEdit,MED1&[CtrlNr&,0],Txt$,0,0,cx&,cy&)

    EndIf

    Case Lt(MED1&[CtrlNr&,0],1) Or Lt(MED1&[CtrlNr&,1],1): Return -1
    SetActiveWindow(dHndl&)
    Return 0

EndProc

Proc KillMEDwStc

    Parameters CtrlMaxNr&

    WhileLoop 0,CtrlMaxNr&,1

        DestroyWindow(MED1&[&Loop,0])

    EndWhile

EndProc

Def gStcHandl(1) MED1&[&(1),0]
Def gMedHandl(1) MED1&[&(1),1]
**********************************************************************************************
**** Programm Start ****
Declare dlg1&,bt1&,bt2&,bt3&
WindowStyle 26538
Window 0,0-640,480
dlg1& = Create(Dialog,%HWnd,Test- Fenster,60,60,640,480)  Quasi Dialog Fenster
Zuerst die Buttons und alle anderen Controls erstellen
bt1& = Create(Button,dlg1&,Button 1,480, 60,120,22)
bt2& = Create(Button,dlg1&,Button 2,480,100,120,22)
bt3& = Create(Button,dlg1&,Button 3,480,140,120,22)
jetzt das Static- Control als Unterlage fürs MultiEdit (und nur für dieses)
es Trennt sozusagen das Edit vom Dialog und dessen Eigenschaften!
cMEDwStc(0,dlg1&,1,Rich, 20, 20,400,420,0)
cMEDwStc(1,dlg1&,0,Multi,460,180,162,160,0)
Sleep 1000
SetText gMedHandl(0),Test 1
Sleep 1000
SetText gMedHandl(1),Test 2
Sleep 1000
MessageBox(Test- Message,Achtung...,48)
SetActiveWindow(dlg1&)

WhileNot Or(Equ(%Key,2),Equ(%MenuItem,-2))

    WaitInput

EndWhile

KillMEDwStc(1ss=s2>)
End
 
25.02.2005  
 



Zum Quelltext


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

2.621 Views

Untitledvor 0 min.
H.Brill14.08.2024
RudiB.16.08.2021
holmol9313.06.2013
thb25.04.2012
Más...

Themeninformationen

Dieses Thema ha 1 subscriber:

iF (1x)


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