Forum | | | | GDL | Hi Profaner,
comment peux je es anstellen, cela un Multiedit ou bien Richedit aussi sur einem Dialogfenster so reagiert comment sur dem Hauptfenster ?D.h. beim Drücken qui Tab bouton soll eingerückt volonté et pas cela Multiedit den Concentrer perdre.
Vielen Dank et verbleibe avec freundlichen Grüßen Georg |
| | | | |
| | Michael Dell | allô Georg,
interessante Frage, hab quelque chose rumgeschraubt: KompilierenMarqueSéparationDeclare dlg1&,med1&
WindowStyle 26538
Window 0,0-640,480
dlg1& = Control("Static","Test- Fenster",$D0C001A6,20,20,400,260,%Hwnd,0,%HINSTANCE,$0108) Static - QuasiDialog
med1& = control( "Edit", "",$50B000C4,10,10,380,200,dlg1&,0,%HINSTANCE,$0200) Edit - Multiline
WhileNot Or(Equ(%Key,2),Equ(%MenuItem,-2))
WaitInput
EndWhile
Salu Michael...
Hab zwar krumme Fieß awer dofir e' ecklich Gsicht! | 25.02.2005 ▲ | |
| |
| | GDL | allô Michael,
erstmal merci pour den Code.il va déjà,mais malheureusement habe J'ai oublié trop écrivons,dass sur den Dialogfenster aussi Buttons sommes,qui déjà réagir doit.s'il te plaît pas böse son.
Probiere maintenant encore qui $numéro avec verschiedenen payons dans deinem Code aus.
salut Georg |
| | | | |
| | Michael Dell | Sorry, cela était ne...aucune très gutes Beispiel.
ici un besseres (Hoff!) : KompilierenMarqueSéparationDeclare dlg1&,stc1&,med1&,bt1&,bt2&,bt3&
WindowStyle 26538
Window 0,0-640,480
dlg1& = Create("Dialog",%HWnd,"Test- Fenster",20,20,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!
stc1& = Control("Static","",$D0000120,40,60,400,420,dlg1&,0,%HINSTANCE,$040008) Static - Edit Unterlage
med1& = control( "Edit","",$50B000C4,0,0,400,420,stc1&,0,%HINSTANCE,$0200) Edit - Multiline
SetActiveWindow(dlg1&)
WhileNot Or(Equ(%Key,2),Equ(%MenuItem,-2))
WaitInput
EndWhile
Fin
Salu
Michael |
| | | Salu Michael...
Hab zwar krumme Fieß awer dofir e' ecklich Gsicht! | 25.02.2005 ▲ |
| |
| | GDL | allô Michael,
es klappt einwandfrei.merci.
peux on ca generell so faire,cela on avec einem Static comme Unterlage einem neuen objet neue Stile(indépendant vom la fenêtre ou bien Dialog)zuweisen peux ?
salut Georg |
| | | | |
| | Michael Dell | allô Georg,
je denke dans den allermeisten Fällen déjà. Statics sommes léger à Sonderfälle anzupassen. Benutze vous aussi gern gern comme la base- Unterlage pour Objekte sur Tab-Controls alors überall wohin viele Controls verwaltet volonté. qui besten Styles hierfür laisser sich vite et simple avec ControlFellow (dans PrFellow) herausfinden.
Salut
Michael |
| | | Salu Michael...
Hab zwar krumme Fieß awer dofir e' ecklich Gsicht! | 25.02.2005 ▲ |
| |
| | GDL | allô Michael,
puh,bekam déjà une Schrecken. Baute mon ursprüngliches Programme um,seulement qui Sauver et Run Funktionen gingen pas plus.
Kam ensuite derrière elle,cela Windowseigene Dialoge (Sauver,Messagebox usw.),si vous im Bereich vom Static liegen,derrière elle invisible rester.
Tricolore ensuite so gelöst. KompilierenMarqueSéparationtextfeld&=das Richedit
riche&=Static
subfenster&=Dialogfenster
SelectAll textfeld&
CopyToClip(textfeld&)
destroywindow(riche&)
speichern hier Speicherdialog
erzeugen
riche& = Control("Static","",$D0000120,0,60,800,600,subfenster&,0,%HINSTANCE,$040008) Static - Edit Unterlage
CreateRTFControl riche&,0,60,800,600
Let textfeld&=GetIntResult()
rtf&=@CREATE("FONT","COURIER",16,12,1,0,0)
setfont textfeld&,rtf&
PasteAsText(textfeld&)
setfocus(textfeld&)
Habe wieder einiges dazugelernt.
salut Georg |
| | | | |
| | Michael Dell | Salut,
la difficulté beim Platzieren qui Controls ensteht par den Staticstil es handelt sich ici pas um un Child mais um un Popup. cela bedeutet: (x,y = 0,0) est linker supérieure Bildschirmrand, pas linke obere coin des übergeordneten Fensters.
Hab cela ganze révisée, so cela es avec einem einzigen Befehl allez.
cMEDwStc(ControlNummer&,WindowHndl&,x&,y&,cx&,cy&,zusatzStil&).
avec SetParent wird (x,y) korrekt gesetzt (Dank iF): KompilierenMarqueSéparation**** Hiermit können bis zu 40 (0-39) MultiEdits auf Statics erzeugt und zerstört werden ****
DEF ASetParent(2) ! "USER32","SetParent"
Declare MED1&[40,2] MED1&[CtrlNr&,0] = StaticHandle / MED1&[CtrlNr&,1] = MultiEditHandle
Clear MED1&[]
Proc cMEDwStc erstsellt ein Multiline- Edit auf einem Popup- Static (Unabhängig gegenüber übergeordneten Fenster!)
Parameters CtrlNr&,dHndl&,x&,y&,cx&,cy&,zStil&
Declare erg$
MED1&[CtrlNr&,0] = Control("Static","",Or($D0000120,zStil&),x&,y&,cx&,cy&,dHndl&,Add($a8000,CtrlNr&),0,$040008) 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
EndIf
Case Gt(MED1&[CtrlNr&,0],0) Or Gt(MED1&[CtrlNr&,1],0): Return -1
Return 0
EndProc
Proc KillMEDwStc Killt alle mit cMEDwStc erstellten Controls
Parameters CtrlMaxNr&
WhileLoop 0,CtrlMaxNr&,1
DestroyWindow(MED1&[&Loop,0])
EndWhile
EndProc
**********************************************************************************************
**** Programm Start ****
Declare dlg1&,bt1&,bt2&,bt3&
WindowStyle 26538
Window 0,0-640,480
dlg1& = Create("Dialog",%HWnd,"Test- Fenster",20,20,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&, 20, 20,400,420,0)
cMEDwStc(1,dlg1&,460,180,162,160,$06) letzter Parameter auf $06 zum ausrichten des Controls
SetActiveWindow(dlg1&)
WhileNot Or(Equ(%Key,2),Equ(%MenuItem,-2))
WaitInput
EndWhile
KillMEDwStc(1)
f='./../../funktionsreferenzen/XProfan/end/'>Fin
Salu
Michael... |
| | | Salu Michael...
Hab zwar krumme Fieß awer dofir e' ecklich Gsicht! | 26.02.2005 ▲ |
| |
| | | | | | | |
| | Michael Dell | allô iF, den kannte je encore pas
merci
Michael... |
| | | Salu Michael...
Hab zwar krumme Fieß awer dofir e' ecklich Gsicht! | 26.02.2005 ▲ |
| |
| | | Achso lol - je hab gegrübelt si qui nich Nachteile mitsich bringt - aba so ists oui jut.
Salve, iF |
| | | | |
| | CB | [quote-part:a59489485d=Georg Dankesreiter]Kam ensuite derrière elle,cela Windowseigene Dialoge (Sauver,Messagebox usw.),si vous im Bereich vom Static liegen,derrière elle invisible rester. [/quote-part:a59489485d] allô Georg, peut-être hilft Dir aussi un erweiterter Stil pour Messageboxen: (Auszug aus qui Profan-Aider)
Werte pour FENSTERART: 0 - normales la fenêtre (~MB_APPLMODAL) 4096 - großes, pas verschiebbares faute-la fenêtre (~MB_SYSTEMMODAL) 8192- comment 0, cependant pour unsichtbare la fenêtre (~MB_TASKMODAL) 16384- fügt une Aider-Button hinzu (~MB_HELP) 65536- qui MessageBox wird dans den Vordergrund gesetzt (~MB_SETFOREGROUND) 262144- qui MessageBox wird dans den Vordergrund gesetzt et bleibt là (~MB_TOPMOST) 524288- Text rechtsbündig ausrichten (~MB_RIGHT)
Salut, Christian |
| | | | |
|
répondreOptions du sujet | 9.966 Views |
Themeninformationencet Thema hat 6 participant: |