Rokosofts Object Creator (ROC) | | | | | ¡Hola zusammen,
habe heute ROC runtergeladen y installiert.
Wichtigstes Teil war para mich el Treeviewobject. Nun búsqueda Yo una Ejemplo como angklickte Línea abgefragt se, voluntad sí schließlich en el Texto reagiern puede.
Posesiones auch en diesem Foro con Search [B]ROC+TREEVIEW [/B]nichts dazu gefunden. Bilde me allerings en ya veces irgendwo en el Web algo gelesen a haben.
Posesiones Yo Brett vorm Kopf??
Gibt lo el DblClick y SelChange Event eigentlich auch??
Für Ayuda dankbar.
Rainer |
| | | | |
| | Frank Abbing | Hi,
habe dir hier ya a Ähnlichem geantwortet, du mußt auch veces darauf reagieren: [...] Ist una Notifymessage, el du auslesen mußt, TVN_SELCHANGED. En media Versuchen en el Dialogstyle mußte Yo sowohl el A (-402), como auch el W-Variante (-451) el Message abfragen, zumindest en el Dialogstyle. Einen Code en Profano tener Yo no para dich, wahrscheinlich va una sichere Abfrage sólo Subclassing, also de XProfan. |
| | | | |
| | Rolf Koch | Hi Rainer,
naja Franco ha sí ya geantwortet
Rolf |
| | | | |
| | | ¡Hola Franco, hallo Rolf,
danke para el Respuesta.
Franco, Yo hatte Su Nachricht auch en el Profanforum ya gelesen, sólo todavía no beantwortet. Auch esta Abfragen trabajo no yo en el. Auch dieses SetActiveWindow usw. haben no el Erfolg el Yo möchte y el Comportamiento daß uno de otro Win-Programmen sabe. Im Übrigen hatte mich el Referencia en una Ensamblador-Rutina auch abgeschreckt, como Yo su nun ÜBERHAUPT NICHTS VERSTEHE!
Rolf, mi Cuestión war eigentlich si en el ROC esta Events programmiert son y yo ellos sólo no entdeckt habe. Denn una Event es sí como para encontrar, el normale Clic en una Eintrag, y yo me pensamiento si alguien así una schönen ObjectCreator bastelt, daß entonces el wichtigsten Events berücksichtigt son.
Yo bin siempre todavía uno el ewig gestrigen PrFellow-Anwender (Sorry Rolf, probablemente wirklich Tiempo a aprender y para ROC umzuschwenken!) y había el Events auch en el WfEvents aufgenommen, desafortunadamente sin Erfolg. Dann kam eben el Intento con ROC como Yo hoffte en un Programa el siempre UpToDate en el desarrollo es el Gesuchte para encontrar.
Werde selber más versuchen mein Ziel a erreichen, todavía bin Yo weiterhin para jede Ayuda dankbar.
MfG
Rainer Hoefs |
| | | | |
| | | Gug veces tal vez hilft Usted que aquí más: KompilierenMarcaSeparaciónDEF GetTreeItem(1) sendmessage(@&(1),$110A,$0009,TVitem#)
DEF SetTreeItem(2) sendmessage(@&(1),$110B,$0009,@&(2))
DEF TreeHitTest(2) sendmessage(@&(1),4369,0,@&(2))
DEF GetTreeCount(1) Sendmessage(@&(1),$1105,0,0)
DEF TreeExpand(2) sendmessage(@&(1),$1102,$0002,@&(2))
DEF TreeColapse(2) sendmessage(@&(1),$1102,$0001,@&(2)) So después de el Motto if getfocus(treeview) y GetTreeItem<>oldtreeitem entonces erfolg
Salve, IF |
| | | | |
| | Frank Abbing | Hi,
Yo tener hier una Code de Richard Maurukas. Der ermittelt simplemente sólo el erste selektierte Item. Klappt hervoragend y kommt bastante sin Notifies de. No el feine Art, aber funktioniert ... KompilierenMarcaSeparaciónTreeView32-Control mit Imagelist (P)FairWare, FreeWare...
Für Profan² 6.0, 32 Bit
(c) 1998 Richard Maurukas
----------------------------------------------------------------
DEF GetModuleHandle(1) !"KERNEL32","GetModuleHandleA"
DEF LoadIcon(2) ! "USER32","LoadIconA" "&#","&"
DEF LoadBitmap(2) ! "USER32","LoadBitmapA"
DEF ImageList_Create(5) !"COMCTL32","ImageList_Create"
DEF ImageList_AddIcon(2) !"COMCTL32","ImageList_AddIcon"
DEF ImageList_Destroy(1) !"COMCTL32","ImageList_Destroy"
Declare hImageList&,hIcon&,Iconname#,Executehandle&
Declare Imagelist&,HIcon#
dim Iconname#,25
dim Hicon#,24
declare TVItem#
declare Treeview&
declare TVitemtext#
declare TVInsert#
dim Tvitem#,40
dim TVInsert#,48
dim TVitemtext#,255
Let Imagelist&=ImageList_Create(16,16,$0001,3,3) Imagelist erzeugen
Let ExecuteHandle&=GetModuleHandle(0) Handle des laufenden Programms
Icon 0
String Iconname#,0="EDITOR" Icon-Name
Let Hicon&=loadicon(Executehandle&,Iconname#) Handle des Icons ok
ImageList_AddIcon(Imagelist&,HIcon&)
Icon 1
String Iconname#,0="A" Icon-Name
Let Hicon&=loadicon(Executehandle&,Iconname#) Handle des Icons ok
ImageList_AddIcon(Imagelist&,HIcon&)
Icon 2
String Iconname#,0="GESICHT"
Let Hicon&=loadicon(Executehandle&,Iconname#) Handle des Icons ok
ImageList_AddIcon(Imagelist&,HIcon&)
PROC TVITEM
TVITEM und TVINSERT-Struktur-------------------------------
String TVitemtext#,0=@$(4) Der Text im Label
long TVInsert#,0=@&(1) TVins-Parent
long Tvinsert#,4=@&(2) TVins-Insert After
long TVInsert#,8=$0027 mask IF_TEXT,IF_IMAGE,If_SelectedImage
long TVInsert#,12=0 Htreeitem
long TVInsert#,16=0 State
long TVInsert#,20=0 StateMAsk
long TVInsert#,24=Tvitemtext# Adress of Label
long TVInsert#,28=len(@$(4)) len of Label(länge GeDimt in Tvitemtext#)
long TVInsert#,32=@&(2) 0 Image z.B Ordner
long TVInsert#,36=@&(3) 0 Selected Image z.B geöffneter Ordner
long TVinsert#,40=0 cChildren
long TVInsert#,44=0 Lparam
-----------------------------------------------
ENDPROC
Declare TRoot&,TRoot1&,troot3&
Declare infotext&,ende%,Edithandle&
Window 0,0-350,440
Windowtitle "TreeViewControl32, (c) Richard Maurukas"
settruecolor 1
cls rgb(192,192,192)
let Infotext&=createtext(%Hwnd,"",40,0,250,20)
Let TreeView&=@control("SysTreeView32","",$5080002F,40,20,250,340,%Hwnd,200,%Hinstance)
sendmessage(TreeView&,$1109,0,Imagelist&) Associate the image list with the tree
TVITEM 0,0,1,"Richard Maurukas"
Let TRoot&= sendmessage(Treeview&,$1100,0,TVInsert#) Insertitem in Root 0
TVITEM TRoot&,1,1,"präsentiert"
let TRoot1&=sendmessage(Treeview&,$1100,0,TVInsert#) Insertitem in TRoot&
TVITEM TRoot&,0,0,"das TreeView32 Control"
let TRoot1&=sendmessage(Treeview&,$1100,0,TVInsert#) Insertitem in TRoot&
TVITEM TRoot1&,1,1,"für Profan² Ver. 6.0 32 Bit"
sendmessage(Treeview&,$1100,0,TVInsert#) Insertitem in TRoot1&
TVitem 0,1,0,"Roland G. Hülsmann"
let Troot3&=sendmessage(Treeview&,$1100,0,TVInsert#) Insertitem in Root
TVitem Troot3&,2,2,"Entwickler von Profan²"
sendmessage(Treeview&,$1100,0,TVInsert#) Insertitem in Troot3&
USefont "Times New Roman",18,0,1,1,0
sendmessage(Treeview&,$030,%Font,0)
settext infotext&,add$("Anzahl der Items im Control: ",
str$(Sendmessage(Treeview&,$1105,0,0))) TVM_Getcount
sendmessage(Treeview&,$1102,$0002,Troot&) TV_Expand, Expand
sendmessage(Treeview&,$1102,$0002,Troot3&) TV_Expand, Expand
sendmessage(Treeview&,$1102,$0001,Troot&) TV_Expand, Colapse
Whilenot equ(Ende%,1)
waitinput
Das Selektierte Itemhandle im Treeview ermitteln
TVM-Getnextitem=$110A, TVN_Caret=$0009, Eine Adresse=TVitem#
Let Edithandle&= sendmessage(Treeview&,$110A,$0009,TVitem#)
Settext infotext&,""
Das ermittelte Handle mit dem erhaltenen Handle
aus der Insertitem Message vergleichen und anzeigen.
case equ(Troot&,Edithandle&):
Settext infotext&,"Selected Text: Richard Maurukas"
case equ(Troot1&,Edithandle&):
Settext infotext&,"Selected Text: das TreeView32 Control"
case equ(Troot3&,Edithandle&):
Settext infotext&,"Selected Text: Roland G. Hülsmann"
wend
Dispose TVitemtext#
dispose TVInsert#
dispose TVitem#
ImageList_Destroy(hImagelist&)
Disponer Hicon#
|
| | | | |
| | | ¡Hola Franco...
[quote:c1cab62e5c] ...wahrscheinlich va una sichere Abfrage sólo Subclassing, also de XProfan. [/quote:c1cab62e5c] Yo habe dein Messageproblem ya seit einiger Tiempo mitverfolgt, habe desafortunadamente aber todavía a wenig con Treeviews gearbeitet, en hay wirklich mitreden a puede. Was du como en A y W Messages schreibst, scheint me así, como sería como el Profano Messagehandling algo durcheinanderschmeißen. Demnach es el aber auch no Sache para Subclassing. Sombrero Roland ya algo a el Thema dijo?
Um Subclassing überhaupt realisieren a puede, muß (soweit Yo weiß) el Profano Messagehandling abgeschaltet voluntad. Ist allein con el Abschalten des Messahgehandlings el Ursache el Fehlfunktion pero no ya Fijo y muß entonces Subclassing überhaupt todavía stattfinden?
Einge Messages voluntad sólo de los jeweiligen Fensterclassen bearbeitet ( z.B. el CTLCOLOR Messages, WM_ERASEBKGND y WM_QUERRYENDSESSION). Nur para esta Messages es Subclassing interessant. Gehört el de dir aufgeführte Message wirklich dazu oder es el Profankram?
Nochmals a Subclassing en el allgemeinen (Yo hoffe, Yo langweile no): Farbige Buttons, farbige Edits, Listboxen y antes allen Dingen el Abfangen des Herunterfahrens (incluso NotePad macht el), son vernünfig sólo encima Subclassing a realisieren. Wenn Yo Subclassing correcto verstanden habe, es el eigentlich una unkomplizierte y muy einfache Sache. Das uno richtiges Subclassing vernünfig con Profano realisieren kann (auch con XProfan), es aber äußerst schwierig. Un Komponente, el Profano así extremo simplemente en el Handhabung macht, sería komplett wegfallen - el Messagehandling => Chaos para Einsteiger. Subclassing el Messages WM_QUERYENDSESSION y WM_ENDSESSION wäre demnach una muy notwendige Erweiterung para DLL para Profano (así müßte lo eigentlich ir, sin el Messagehandling a killen)... |
| | | | |
| | Rolf Koch | Hi Rainer,
Usted musst Usted doch no Entschuldigen, daß Usted una Prfellow Nutzer bist Leider tener Yo sí una Hauptberuf (Leider es bien - natürlich en Bezug en el Sache) y si yo podría sería Me gusta mehr Tiempo en el ROC hängen. Ausserdem tener Yo en el Moment soviel a Ohren - aber wer sabe esto no es. Bin aber trotzdem a una Actualización al trabajo. Aber nochmals: ROC es una Ventana- y Dialoghelfer y no IDE. Der Actionwriter es sólo como, en gewisse einfache Procs einzubauen en lo später en el Code einfacher a haben.
Aber como ya oben erwähnt, haben el otro hier sí algunos Sachen para Thema aufgezeigt.
Rolf |
| | | | |
| | Frank Abbing | ¡Hola Andreas,
> Yo habe dein Messageproblem ya seit einiger Tiempo mitverfolgt, habe desafortunadamente aber todavía a wenig con Treeviews gearbeitet, > en hay wirklich mitreden a puede. > Was du como en A y W Messages schreibst, scheint me así, como sería como el Profano Messagehandling algo durcheinanderschmeißen. > Demnach es el aber auch no Sache para Subclassing. Sombrero Roland ya algo a el Thema dijo?
Sí, él sagte me, él könne el Unterschiede zwischen Dialogmodus y el normalen Windowmodus no bastante erklären. Nur se una vez el el Dialogproc angesprungen y una vez el Windowproc. Anscheinend macht Windows hier Unterschiede.
Messages voluntad normal en el Superclassing abgefragt. Es el normale Abfrageroutine para Messages en un Programmes. Verbiegt uno el Zeiger en el Fensterprozedur en el nachhinein, spricht uno vom Subclassing. Und genau en el Fensterprozedur voluntad Messages erkannt, verändert oder gelöscht. So es en otro Idiomas. Profano es de otra manera, porque lo el Messages para uns filtert y sólo el wichtigsten a uns weiterleitet. Lo bemuttert uns, qué pero no siempre erwünscht es, y por lo tanto puede ser dieses Comportamiento abschalten.
> Um Subclassing überhaupt realisieren a puede, muß (soweit Yo weiß) el Profano Messagehandling abgeschaltet voluntad.
Was Yo eben sí ya sagte.
> Ist allein con el Abschalten des Messahgehandlings el Ursache el Fehlfunktion pero no ya Fijo y muß entonces Subclassing > überhaupt todavía stattfinden?
Sí. Weil Messages oft así rápidamente hintereinander kommen, el Profano el Werte a langsam en seine Variables schreibt. So voluntad viele Messages verschluckt, porque ya otra vez aktuellere angekommen son.
> Einge Messages voluntad sólo de los jeweiligen Fensterclassen bearbeitet ( z.B. el CTLCOLOR Messages, WM_ERASEBKGND y WM_QUERRYENDSESSION). > Nur para esta Messages es Subclassing interessant. Gehört el de dir aufgeführte Message wirklich dazu oder es el Profankram?
Alle Messages puede subgeclassed voluntad. El oben aufgeführte es una Notifymessage, also una Sammelmessage, el bajo WM_NOTIFY geführt se.
> Nochmals a Subclassing en el allgemeinen (Yo hoffe, Yo langweile no): > Farbige Buttons, farbige Edits, Listboxen y antes allen Dingen el Abfangen des Herunterfahrens (incluso NotePad macht el), > son vernünfig sólo encima Subclassing a realisieren. "Si Yo Subclassing correcto verstanden habe, es el eigentlich una unkomplizierte y muy einfache Sache.
Eigentlich sí.
> Das uno richtiges Subclassing vernünfig con Profano realisieren kann (auch con XProfan), es aber äußerst schwierig. Un > Komponente, el Profano así extremo simplemente en el Handhabung macht, sería komplett wegfallen - el Messagehandling => Chaos > para Einsteiger.
Richtig. Profano intenta el Sache para el User a vereinfachen y läßt sólo wichtige Messages por. Will uno todos Messages obtener, entonces dieses Profanverhalten abzustellen. Einige messages voluntad todavía verschluckt. Subclassed al Profanfenster aber, erhält uno todos Messages, bevor Profano ellos en el Finger bekommt. Yo selber benutzte el Profano-Subclassing-Technik no, porque ellos trotz allem siempre todavía zeilenweise interpretiert se, como el normale Programa auch. Darum verzögert lo todos Messageshandling. Bestes Ejemplo es Andreas Miethes Splitterbar-Subclassingcode, el quälend langsam es. Von uno Dll de aber macht Subclassing correcto Spass y lo son no Einschränkungen.
> Subclassing el Messages WM_QUERYENDSESSION y WM_ENDSESSION wäre demnach una muy notwendige Erweiterung para DLL > para Profano (así müßte lo eigentlich ir, sin el Messagehandling a killen)...
Wenn du Profano2Cpp hast, wirst du muy bald Dlls de Profancode erzeugen puede. Nativen Code. Dann se uns una wahre Dll-Schwemme überrollen, jede Wette! |
| | | | |
| | rainerhoefs | ¡Hola Franco, Andreas, Rolf y allen otro el en mi Cuestión geantwortet haben.
Mein Problema Yo gelöst. Treevieweinträge voluntad ausgelesen, el Treeview verliert el Focus después de Haga doble clic en el en una Eintrag, sodaß Yo, el erhaltenen String weiterverarbeiten kann, Auch si yo el Tatstautr benutze y + cada Einträge aufklappe, con Hoch y Runter anwähle y Enter hole klappt alles, y en cualquier momento kann en el otro Elemente geklickt y geschrieben voluntad. Menü y Toolbar trabajo y así más. Yo habe sólo el Events _OnEnter (_in el Api _OnReturn) y _OnDblclk en el WfEvents.Inc instalado. Damit war entonces mein Problema gelöst.
Für all el qué Ihr con Ensamblador, SubClassing usw. geschrieben habt nochmals Gracias, es aber viel a hoch para mich.
Franco, Usted erwähntest Prf2Cpp en el letzten Nachricht. Sí, Yo el Testversion. Mein Profano Quellcode se sin jegliche Fehler auch Übersetzt. Wenn Yo, el allerdings con DevC++ 4.* kompilieren voluntad funktioniert überhaupt nichts. Manchmal gelingt lo el Programa en el RUN-Modus para Laufen a bringen. Aunque se entonces el Diálogo el beim Anklicken uno Toolbaricons erscheinen debería no comenzó. Gibt lo irgendwo genaue Angabe Yo el Compiler einstellen muß así auch una EXE entsteht. (en el Form el auch Yo verstehe.) Denn el würd Me gusta todavía kapieren y anwenden, como ya en el Run-modus el Programa (Leider sólo el HWND) super rápidamente se ejecuta!
Gracias en el Voraus
Rainer Hoefs |
| | | | |
| | Frank Abbing | ¡Hola Rainer,
interessant, Yo selber benutze auch el DevC++4 como Compiler, sin Problemas. Ist wahrscheinlich sólo una Einstellungssache. Am besten fragst du veces direkt el Sebastian König en el offiziellen Profano2Cpp Foro: [...] |
| | | | |
|
RespuestaThemeninformationenDieses Thema ha 5 subscriber: |