Foro | | | | - Página 1 - |
| GDL | Hi Profaner,
como kann Yo anstellen, el una Multiedit oder Richedit auch en una Dialogfenster así reagiert como en el Ventana principal ?D.h. beim Drücken el Tab Taste se eingerückt y ser no el Multiedit el Focus verlieren.
Vielen Dank y verbleibe con freundlichen Grüßen Georg |
| | | | |
| | | | | - Página 1 - |
| GDL | ¡Hola Michael,
puh,bekam ya una Schrecken. Baute mein ursprüngliches Programa en,sólo el Guardar y Run Características gingen no mehr.
Kam entonces detrás de él,el Windowseigene Dialoge (Guardar,Messagebox usw.),si ellos en vom Static mentira,detrás de él verborgen bleiben.
Habs entonces así gelöst. KompilierenMarcaSeparacióntextfeld&=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&)
Posesiones otra vez einiges dazugelernt.
Servus Georg |
| | | | |
| | Michael Dell | ¡Hola,
el schwierigkeit beim Platzieren el Controls ensteht por el Staticstil lo es se hier no en una Child pero en una Popup. Das bedeutet: (x,y = 0,0) heißt linker oberer Bildschirmrand, no linke obere Ecke des übergeordneten Fensters.
Hab todos überarbeitet, así el lo con un einzigen Befehl va.
cMEDwStc(ControlNummer&,WindowHndl&,x&,y&,cx&,cy&,zusatzStil&).
Mit SetParent se (x,y) korrekt gesetzt (Dank IF): KompilierenMarcaSeparación**** 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/'>End
Salu
Michael... |
| | | Salu Michael...
Hab zwar krumme Fieß awer dofir e' ecklich Gsicht! | 26.02.2005 ▲ |
| |
| | | | | | | |
| | Michael Dell | Hola si, el kannte Todavía no
Gracias
Michael... |
| | | Salu Michael...
Hab zwar krumme Fieß awer dofir e' ecklich Gsicht! | 26.02.2005 ▲ |
| |
| | | Achso lol - Yo tener gegrübelt si el nich Nachteile mitsich bringt - aba así ists sí jut.
Salve, IF |
| | | | |
| | CB | [quote:a59489485d=Georg Dankesreiter]Kam entonces detrás de él,el Windowseigene Dialoge (Guardar,Messagebox usw.),si ellos en vom Static mentira,detrás de él verborgen bleiben. [/quote:a59489485d] ¡Hola Georg, tal vez hilft Usted auch una erweiterter Stil para Messageboxen: (Auszug de el Profano-Ayuda)
Werte para FENSTERART: 0 - normales Ventana (~MB_APPLMODAL) 4096 - großes, no verschiebbares Fehler-Ventana (~MB_SYSTEMMODAL) 8192- como 0, sin embargo para unsichtbare Ventana (~MB_TASKMODAL) 16384- fügt una Ayuda-Button hinzu (~MB_HELP) 65536- el MessageBox se en el Vordergrund gesetzt (~MB_SETFOREGROUND) 262144- el MessageBox se en el Vordergrund gesetzt y restos hay (~MB_TOPMOST) 524288- Texto rechtsbündig ausrichten (~MB_RIGHT)
Saludo, Christian |
| | | | |
| | | | - Página 2 - |
| | Michael Dell | ¡Hola,
el problema con el MessageBoxen lag al Static- Stil WS_EX_TOPMOST, dank SetParent kann darauf ahora verzichtet voluntad. 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
Salu
Michael... |
| | | Salu Michael...
Hab zwar krumme Fieß awer dofir e' ecklich Gsicht! | 26.02.2005 ▲ |
| |
| | GDL | ¡Hola Christian y Michael,
mein Hauptproblem liegt en él,el Yo de Windows casi ni idea habe.Bis el bisschen Yo de Euch y Andreas a ahora en el Reihe bekam,Yo ni idea Yo el vorgefertigten Profanbefehle y el Messages kombinieren se,como el Profanbefehle sin la $Zahl eingegeben voluntad.Posesiones me en Prfellow el Stylefactory veces angesehen,sólo wo puede ser nachlesen lo que el Messages,el no de el Namen,oder sofortiger Aktion erkennbar son, bewirken.Mit el Messages es genauso,todos el en el Profano Ayuda no genau beschrieben son,woher puede ser se una anfängerverständliche Descripción besorgen.Wenn uno auch el Winhelp traducido,ha uno lediglich el Übersetzung vom engl.Fachchinesisch en el Alemán Fachchinesisch. Wenn de Euch alguien una gutes Buch encima esta Zona weis,Por favor, teilt lo me con.El meisten Problemas(me gehts jedenfalls así) entstehen para Principiante siempre entonces,wenns con el Profaneigenen Befehlen no va y luego jede Menge otro Möglichkeiten hätte,aber con denen nichts anzufangen weis. Darum kommen siempre mi unkonventionellen Fragen y hoffe,dass Yo mich dadurch no allzusehr blamiere ?Aber Yo möchte lo en el Reihe kriegen !
Mit freundlichen Grüßen Georg |
| | | | |
| | CB | ¡Hola Georg! Ist no así schlimm, wies aussieht. Aber oft una mühevoller y dornenreicher Weg dorthin. Das kannst Usted sólo genauso aprender como wir todos. Codes ansehen y analysieren, como otro algo lösen y luego modifizieren, ausprobieren, schauen, qué passiert. Experimentieren, experimentieren ... Usted findest aber en el Profanhilfe viel Infos a Controls, schau mal bajo @Control después de. Auch div. Stile son hay para encontrar. Auch así lohnt se el Ausprobieren! Hilfreich es auch el Abklappern el div. Homepages de jenen, el esta Weg ya gegangen son. Como gibts jede Menge Sourcecodes para Ausprobieren y Verwenden. Speziell hilfreich para Usted wäre zB. Pascals Homepage (API-Grundlagen-Kurs etc) o Andreas Miethe, el muy viele interessante Codes veröffentlicht ha (el meiste su muy bien dokumentiert), en sólo unos pocos Beispiele a nennen. El meisten el hier vertretenen Profaner haben en ihren Páginas viel Wissenswertes el Öffentlichkeit disponible gestellt. Yo habe de esta Páginas rund 200 MB freie Sourcecodes y Programas heruntergeladen, wo Yo en Bedarf suchen gehe, en no jedesmal Internet stöbern tener. Auch de Usted es una Programa en meiner Sammlung...
Saludo, Christian |
| | | | |
| | Michael Dell | Zustimm, is oft muy mühsam pero son algunos gute Hilfen.
Mega- Tip1: [...] Stichwort: API_Hilfe
Mega- Tip2: [...] Stichwort: Controls.hlp
Información general encima Profano- Demos (nutze Yo oft): [...]
Und el son längst no todos!
Ansonsten wühle Yo oft en Headern y Incluye auch de C++ y Masm32, algo schwieriger aber auch muy hilfreich Es el MSDN.
Zum Glück es Profano viel leichter como otro Lenguajes y lo gibst sí el Comunidad.
Salu
Michael... |
| | | Salu Michael...
Hab zwar krumme Fieß awer dofir e' ecklich Gsicht! | 27.02.2005 ▲ |
| |
| | | ¡Hola Georg...
Nachfragen tu Yo auch y wissen tue Yo auch längst no alles. Nur wer no nachfragt blamiert se.
Was Controls angeht - como hilft me muy oft el WINDOWS.PH de Profano. Dort findest du bajo anderem el Konstanten para Fensterstyle. Links posición el Symbolischen Namen y rechts el el Stil entsprechenden Zahlenkonstanten. In el symboklischen Namen kannst du Angaben darüber encontrar, qué el Stil tut. So producido WS_VISIBLE para Ejemplo una sichtbares Ventana. WS_ es esta para Windowstyle (para todos Arten de Controls), ES_ para Editstyle (para Editfelder), BS_ para Buttonstyle... Fensterstile kannst du locker addieren - ellos dürfen logischerweise bloß no doppelt vorkommen.
Außerdem hay como unos pocos geniale Ayuda Archivos a Windows API en el Homepage de Uwe Pascal Niemeyer. Wenn du el Sachen hay correcto verstanden hast - y el son bastante simplemente a verstehen - kannst du incluso con Ayuda el WIN32.HLP Fuente de Visual Basic, MASM oder C++ traducir y Sugerencias en deine eigenen Programas einbauen - y el sin überhaupt el Lingua a puede!
Yo weiß incluso no alles, y yo kann mich wohl más una Lehrling como una Profi nennen - pero yo weiß wo Yo nachschlagen kann, y el es wichtig... |
| | | | |
| | Unterthema: Controls con Tabulatortaste ansteuern, Reihenfolge festlegen [...] producido. |
| | | | |
|
RespuestaThemeninformationenDieses Thema ha 6 subscriber: |