Français
Source/ Codesnippets

Dialogfenter Multiedit Problemlösung Tab bouton

 
Michael Dells Problemlösung pour Tab-bouton im Multiedit sur Dialogfenster

KompilierenMarqueSéparation
**** 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>)
Fin
 
25.02.2005  
 



Zum Quelltext


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

2.604 Views

Untitledvor 0 min.
H.Brill14.08.2024
RudiB.16.08.2021
holmol9313.06.2013
thb25.04.2012
plus...

Themeninformationen

cet Thema hat 1 participant:

iF (1x)


Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie