Paules-PC-Forum.de Anzeige:

Microsoft Windows Intune: PC-Verwaltung und -Sicherheit in der Cloud: Updateverwaltung, Anti-Virus und vieles mehr!


Zurück   Paules-PC-Forum.de > Programmierung > XProfan

XProfan Alles rund um die Programmiersprache XProfan.

EM-Tippspiel

Paule bei Facebook


Paule bei Twitter


Letzte Forenthemen
Gehe zum ersten neuen Beitrag Algorithmen Teil IV...
Aufrufe: 3361, Antworten: 129
Gehe zum ersten neuen Beitrag Hamachi deinstallieren
Aufrufe: 58, Antworten: 5
Gehe zum ersten neuen Beitrag Bundesliga-Tippspiel Saision...
Aufrufe: 7670, Antworten: 187
Gehe zum ersten neuen Beitrag PPF - Spiel "Wörter weiter...
Aufrufe: 26970, Antworten: 4223
Gehe zum ersten neuen Beitrag PPF - Shoppingwahn
Aufrufe: 50963, Antworten: 1397
Gehe zum ersten neuen Beitrag Pc lahmt plötzlich
Aufrufe: 186, Antworten: 6
Gehe zum ersten neuen Beitrag PC fährt nicht mehr hoch.
Aufrufe: 0, Antworten: 0
Gehe zum ersten neuen Beitrag Von Live CD Windowspfad...
Aufrufe: 329, Antworten: 19
Gehe zum ersten neuen Beitrag Captur 2.2 (Snow Leo)
Aufrufe: 28, Antworten: 0
Gehe zum ersten neuen Beitrag Captur 2.3 (Lion)
Aufrufe: 34, Antworten: 0
Zeige:





Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 28.12.2010, 19:54   #1 (Direktlink)
War schon mal da
 
Registriert seit: 24.05.2009
Beiträge: 46
Standard Gridbox

Hallo,
es gelingt mir nicht in einer Gridbox eine Zeile mit Doppelklick auszuwählen.
Kann mir da wer helfen?

Vielen Dank
Gerhard.

In der Profanhilfe steht zwar, dass die ListView - Befehle auch bei Gridboxen verwendbar sind. Aber wo finde ich diese Befehle?
Gerhard Putschalka ist offline   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Alt 28.12.2010, 20:08   #2 (Direktlink)
MoRoGeP-Träger 2011
 
Benutzerbild von horsthorn
 
Registriert seit: 06.02.2009
Ort: Heidelberg
Alter: 71
Beiträge: 1.878
Beitrag

Gerhard
Ich mach da immer als "Krücke" noch ein zusätzliches "Waitinput" rein:
Zitat:
ungefähr so:
DECLARE box&,nr%,text$
IF GETFOCUS(box&)
Waitinput 'das ist zusätzlich gesetzt und gaukelt den Doppelklick vor
nr%=GETCURSEL(box&)
text$=GETSTRING$(box&,nr%)
ENDIF
__________________
Gruss, horst
Computer werden kleiner und kleiner, bald verschwinden sie völlig.
(Ephraim Kishon 1924-2005)

Win7-Home-Premium 32-Bit - XProfan12.0ß-S14 - Chrome-18.0.1025.142 m
http://www.web-treffpunkt.de
horsthorn ist gerade online   Mit Zitat antworten
Alt 28.12.2010, 20:21   #3 (Direktlink)
Forenmaskottchen
 
Benutzerbild von Bangkok
 
Registriert seit: 09.02.2009
Ort: Bangkok
Beiträge: 686
Standard

Ich weiß nicht welche Profanversion du hast. Ich mache es meistens mit subclassing, ungefähr so, wobei grid das Handle der Gridbox ist.

Code:
SubClassProc
   If SubClassMessage(grid&, 515) 'doppel
   case datei$ <> "" : doppelklickaktion
      Set("WinProc", 1)
   elseIf SubClassMessage(grid&,516) 'rechts
        Rechtsklickaktion
      Set("WinProc", 1)
   EndIf
endproc
__________________
Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai.
http://dieterzornow.gmxhome.de
Bangkok ist offline   Mit Zitat antworten
Alt 28.12.2010, 20:55   #4 (Direktlink)
Super-Moderator
 
Benutzerbild von Frabbing
 
Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.094
Standard

Die exakte Vorgehensweise, die ich auch in der Listview.dll nutze, ist:

WM_NOTIFY -> NMHDR.code = NM_DBLCLK
__________________
Gruß, Frank


Webpage http://frabbing.bplaced.net
mit Freeware - Tools, Spiele und Grafiken.
Frabbing ist gerade online   Mit Zitat antworten
Alt 28.12.2010, 22:04   #5 (Direktlink)
MoRoGeP-Träger 2011
 
Benutzerbild von horsthorn
 
Registriert seit: 06.02.2009
Ort: Heidelberg
Alter: 71
Beiträge: 1.878
Blinzeln

Gerhard
Nun hast du auch die Lösungen der "API-Giganten" - da ist natürlich mein primitiver XProfan-Code abgemeldet.
Das Schöne dabei ist aber, er funktioniert.
Egal, ob Listbox, Gridbox oder ein Listview von Frank
So kann man auch mit kleinen Sachen manchen Menschen Freude machen
oder
Warum einfach, wenn es auch umständlich geht !
__________________
Gruss, horst
Computer werden kleiner und kleiner, bald verschwinden sie völlig.
(Ephraim Kishon 1924-2005)

Win7-Home-Premium 32-Bit - XProfan12.0ß-S14 - Chrome-18.0.1025.142 m
http://www.web-treffpunkt.de
horsthorn ist gerade online   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Alt 28.12.2010, 22:44   #6 (Direktlink)
Stammuser
 
Benutzerbild von Andreas Miethe
 
Registriert seit: 08.02.2009
Ort: Bielefeld
Alter: 53
Beiträge: 428
Standard

Zitat:
Zitat von horsthorn Beitrag anzeigen
Gerhard
Nun hast du auch die Lösungen der "API-Giganten" - da ist natürlich mein primitiver XProfan-Code abgemeldet.
Das Schöne dabei ist aber, er funktioniert.
Aber nur wenn wenn man keinen einzelnen Click auch abfragen wiil
__________________
Gruss
Andreas

______________________
http://www.ampsoft.eu

Profan 3.3 - XProfanX2
Windows 95,98,ME,2000,XP
Vista - Windows 7 32 / 64 Bit

ASUS X93S - Intel Core I7 - NVIDIA GForce GT540M - 8GB Arbeitsspeicher
Andreas Miethe ist offline   Mit Zitat antworten
Alt 29.12.2010, 07:32   #7 (Direktlink)
MoRoGeP-Träger 2011
 
Benutzerbild von horsthorn
 
Registriert seit: 06.02.2009
Ort: Heidelberg
Alter: 71
Beiträge: 1.878
Blinzeln

Zitat:
Zitat von Andreas Miethe Beitrag anzeigen
Aber nur wenn wenn man keinen einzelnen Click auch abfragen wiil
Irgendwie verstehe ich das nicht, Andreas oder dein Satz ist falsch aufgebaut ?
Gerhard wollte doch nur mit Doppelklick einen Eintrag aus einer Gridbox auswählen können und das geht mit meinem Code sehr gut. Lässt man das zusätzliche 'Waitinput' weg, wird mit Einfachklick gewählt. Diesen Code benutze ich schon seit einigen Profan-Versionen. Was ist also falsch daran ?
Ihr wisst doch alle, daß ich von API soviel Ahnung habe "wie eine Kuh vom Stabhochsprung", also benutze ich weiterhin XProfan-Pur, wenn es sich machen lässt. Im anderen Falle habe ich ja: Frank, Dieter, Andreas, Andreas, Jac usw... usw...
__________________
Gruss, horst
Computer werden kleiner und kleiner, bald verschwinden sie völlig.
(Ephraim Kishon 1924-2005)

Win7-Home-Premium 32-Bit - XProfan12.0ß-S14 - Chrome-18.0.1025.142 m
http://www.web-treffpunkt.de
horsthorn ist gerade online   Mit Zitat antworten
Alt 29.12.2010, 08:22   #8 (Direktlink)
Forenmaskottchen
 
Benutzerbild von Bangkok
 
Registriert seit: 09.02.2009
Ort: Bangkok
Beiträge: 686
Standard

@Horst

SubClassProc ist aber reines XProfan, darin wird ja nur eine Message abgefragt.

Ich denke mal Andreas meinte mit zwei Waitinputs kannst du dann nur den Doppelklick benutzen. Wenn z.B. in einem Programm bei einem 1 x klick etwas passieren soll und bei einem Doppelklick etwas anderes, dann geht das mit deiner Methode nicht.
__________________
Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai.
http://dieterzornow.gmxhome.de
Bangkok ist offline   Mit Zitat antworten
Alt 29.12.2010, 08:30   #9 (Direktlink)
Stammuser
 
Benutzerbild von Andreas Miethe
 
Registriert seit: 08.02.2009
Ort: Bielefeld
Alter: 53
Beiträge: 428
Standard

Zitat:
Zitat von horsthorn Beitrag anzeigen
Irgendwie verstehe ich das nicht, Andreas oder dein Satz ist falsch aufgebaut ?
Gerhard wollte doch nur mit Doppelklick einen Eintrag aus einer Gridbox auswählen können und das geht mit meinem Code sehr gut. Lässt man das zusätzliche 'Waitinput' weg, wird mit Einfachklick gewählt. Diesen Code benutze ich schon seit einigen Profan-Versionen. Was ist also falsch daran ?
Hallo Horst,

daran ist nichts falsch.
Ich meinte damit nur, dass Du Dir so den Weg verbaust, beides abzufragen, Einzel - und Doppelklick.

Aber solange es funktioniert ist es ok
__________________
Gruss
Andreas

______________________
http://www.ampsoft.eu

Profan 3.3 - XProfanX2
Windows 95,98,ME,2000,XP
Vista - Windows 7 32 / 64 Bit

ASUS X93S - Intel Core I7 - NVIDIA GForce GT540M - 8GB Arbeitsspeicher
Andreas Miethe ist offline   Mit Zitat antworten
Alt 29.12.2010, 12:11   #10 (Direktlink)
RGH
Forenmaskottchen
 
Benutzerbild von RGH
 
Registriert seit: 08.02.2009
Ort: Nußloch (bei Heidelberg)
Beiträge: 550
Standard

Eine rein profane Lösung des Doppelklicks ohne Subclassing findet man z.B. auch im Quellcode des Hilfe-Helfers, der ja bei jeder XProfan-Version mit installiert wird. Der Quellcode findet sich im Unterverzeichnis SOURCE als hilfe.prf. Da wird zwischen einfachem Klick und Doppelklick (= 2. Klick auf selbes Element) unterschieden.

Gruß
Roland
__________________
Pentium D 2,8 GHz / 3 GB RAM / 500 GB HDD / ATI Radeon HD5450 1024 MB / Windows 7(32) - XProfan X2.0c
AMD Athlon II X2 2,9 GHz / 3 GB RAM / 500 GB HDD / ATI Radeon 3000 / Windows 7(64) - XProfan X2.0c


http://www.xprofan.de
RGH ist offline   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Alt 30.12.2010, 11:21   #11 (Direktlink)
War schon mal da
 
Registriert seit: 24.05.2009
Beiträge: 46
Standard

Danke für die schnelle Hilfe. Ich konnte das erst heute auswerten.

zu Horst: Deine Lösung ist originell. Und da ich wirklich nur den Doppelklick auswerten möchte genügt diese Lösung ganz. Mache ich den zweiten Klick (~ als Doppelklick) nach einigen Sekunden wird auch das als Doppelklick gewertet und wenn ich, weil ich mich irrte beim 2. Klick auf eine andere Zeile klicke wird diese ausgewählt. Das kann zu Fehlern führen. Daher schlage ich vor die Zeit bis zum 2. Klick zu begrenzen. Im Beispiel habe ich 300 Millisekunden gewählt (kann aber auch ein anderer Wert sein).
Beispiel:

Code:
Declare nr%,text$
WhileNot @GetFocus(Ende%)
IF GETFOCUS(hGrid&)
  Waitinput 'das ist zusätzlich gesetzt und gaukelt den Doppelklick vor
  nr%=GETCURSEL(hGrid&)
  text$=GETSTRING$(hGrid&,nr%)
  Messagebox(text$,"",0)
ENDIF
EndWhile
ich muss aber zugeben, dass diese Lösung falsch geht, wenn gerade über Mitternacht die Klicks erfolgen.

ZU Dieter: mit Subclassing habe ich mich bisher noch nicht befasst. Ist aber wahrscheinlich die bessere Lösung wenn ich Einfach- und Doppelklick auswerten möchte. Wo finde ich die Messagenummern?

Zu Frank: WM_NOTIFY fand ich in einem Assembler-Beispielprogramm. Mit der Umsetzung in Profan war ich leider nicht erfolgreich.

Zu Roland:
ich durchschaue das Programm nicht (ist mein Problem). Aber da ich ohnehin nur den Doppelklick auswerten möchte erscheint mit das Beispiel von Horst als das was ich brauche.

Nochmals vielen Dank an Alle.

Gerhard.
Homepage von GKP


Nachtrag: ich arbeite mit XProfan11.2 und mit Windows 7.
Gerhard Putschalka ist offline   Mit Zitat antworten
Alt 30.12.2010, 13:20   #12 (Direktlink)
Forenmaskottchen
 
Benutzerbild von ts-soft
 
Registriert seit: 16.05.2010
Ort: Berlin
Beiträge: 724
Standard

Zitat:
Zitat von Gerhard Putschalka Beitrag anzeigen
Im Beispiel habe ich 300 Millisekunden gewählt (kann aber auch ein anderer Wert sein).
Ich finde die Lösung zwar nicht so gut , aber wenn, dann sollte man
wenigstens die Doppelklickzeit des Users berücksichtigen!
GetDoubleClickTime sollte besser geeignet sein, als 300 ms

Gruß
Thomas
ts-soft ist gerade online   Mit Zitat antworten
Alt 30.12.2010, 13:25   #13 (Direktlink)
Dauergast
 
Benutzerbild von p. specht
 
Registriert seit: 06.02.2009
Ort: Wien, Österreich
Beiträge: 1.083
Standard

In AutoCAD gibts die Funktion "Doppelklick aufs Mausrad" (Die Idee wurde vermutlich bei einem Besuch im Domina-Studio geboren...)
__________________
Win7-64HomPremSP1,XProfan11.2a,XPIA,JWasm,XPSE,IntelCoreQuad2.5GHz/4GB/je1TB HD intern:esataBay:USB2:USB3
p. specht ist gerade online   Mit Zitat antworten
Alt 30.12.2010, 13:29   #14 (Direktlink)
MoRoGeP-Träger 2011
 
Benutzerbild von horsthorn
 
Registriert seit: 06.02.2009
Ort: Heidelberg
Alter: 71
Beiträge: 1.878
Lächeln

@Gerhard
Zitat:
Aber da ich ohnehin nur den Doppelklick auswerten möchte erscheint mit das Beispiel von Horst als das was ich brauche.
Du glaubst garnicht, wie mich das aufbaut ! -
Danke - das mit der Zeiteingabe übernehme ich von dir
__________________
Gruss, horst
Computer werden kleiner und kleiner, bald verschwinden sie völlig.
(Ephraim Kishon 1924-2005)

Win7-Home-Premium 32-Bit - XProfan12.0ß-S14 - Chrome-18.0.1025.142 m
http://www.web-treffpunkt.de
horsthorn ist gerade online   Mit Zitat antworten
Alt 30.12.2010, 14:10   #15 (Direktlink)
War schon mal da
 
Registriert seit: 24.05.2009
Beiträge: 46
Standard

Hallo,
hier eine Korrektur zu meinem Beitrag von heute 11:21
Ich habe den falschen Code erwischt.
Hier ist der richtige:
Code:
Declare nr%,text$,A&,B&
WhileNot @GetFocus(Ende%)
  IF GETFOCUS(hGrid&)
    A& = (3600000 * Val(@Substr$(@Time$(0),1,":"))) +(60000 * Val(@Substr$(@Time$(0),2,":"))) \
        + (1000 * Val(@Substr$(@Time$(1),1,"."))) + Val(@Substr$(@Time$(1),2,"."))
    Waitinput 'das ist zusätzlich gesetzt und gaukelt den Doppelklick vor
    B& = (3600000 * Val(@Substr$(@Time$(0),1,":"))) +(60000 * Val(@Substr$(@Time$(0),2,":"))) \
      + (1000 * Val(@Substr$(@Time$(1),1,"."))) + Val(@Substr$(@Time$(1),2,".")) - A&  
    If (B& < 300)  ' Auswertung nur dann wenn der Zeitunterschied kleiner als 300mS ist
      nr%=GETCURSEL(hGrid&)
      text$=GETSTRING$(hGrid&,nr%)
      Messagebox(text$,"",0)
    ENDIF
  EndIf
EndWhile
Zur Erklärung: die Uhrzeit (hh.mm.ss ...) wird in Millisekunden umgerechnet.
Gerhard Putschalka ist offline   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Antwort

  Paules-PC-Forum.de > Programmierung > XProfan

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen erlaubt, neue Themen zu verfassen.
Es ist Ihnen erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Gridbox-Änderungen horsthorn Anregungen & Bugreports 7 05.06.2009 17:57
Programm-Icon in Gridbox horsthorn XProfan 26 22.05.2009 15:41



Alle Zeitangaben in WEZ +2. Es ist jetzt 12:41 Uhr.


Powered by vBulletin® Version 3.8.7 (Deutsch)
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Powered by vBCMS® 2.7.0 ©2002 - 2012 vbdesigns.de
(c) Paules-PC-Forum.de

::: Impressum :::

Search Engine Optimization by vBSEO 3.3.2