Win-ListIconGadget: R-Klick auf Spalten-Header detektieren

Windowsspezifisches Forum , API ,..
Beiträge, die plattformübergreifend sind, gehören ins 'Allgemein'-Forum.
Omi
Beiträge: 143
Registriert: 25.03.2013 09:59

Win-ListIconGadget: R-Klick auf Spalten-Header detektieren

Beitrag von Omi »

Hallo.

Auf'm Linux habs ich hinbekommen, würd's jetzt auch noch auf Windows klappen 8) ...

Von den Windows-API-Verfahren, einen Standard-Links-Klick auf den Spalten-Header eines ListIconGadgets zu detektieren habe ich, denke ich, die meisten gefunden.
Kennt jemand eine API-Möglichkeit für Windows, zusätzlich einen Rechtsklick zu detektieren und zu unterscheiden, z.B. für das Anbieten eines Popup je Spalte?

Grüße Charly
PureBasic Linux-API-Library: http://www.chabba.de
Benutzeravatar
Shardik
Beiträge: 738
Registriert: 25.01.2005 12:19

Re: Win-ListIconGadget: R-Klick auf Spalten-Header detektier

Beitrag von Shardik »

- Windows-Beispiel von srod, das einen Rechtsklick auf die Spaltenüberschrift erkennt und die Spaltennummer anzeigt
- Windows-Beispiel von netmaestro, das ein Drücken und Loslassen der linken und rechten Maustaste auf die Spaltenüberschrift erkennt und die Spaltennummer anzeigt; in diesem Beispiel muß zweimal das falsche

Code: Alles auswählen

CompilerIf #PB_OS_Windows
gegen

Code: Alles auswählen

CompilerIf #PB_Compiler_OS = #PB_OS_Windows
abgeändert werden und genau so bei

Code: Alles auswählen

CompilerElse #PB_OS_Linux
Omi
Beiträge: 143
Registriert: 25.03.2013 09:59

Re: Win-ListIconGadget: R-Klick auf Spalten-Header detektier

Beitrag von Omi »

Wie sooft, herzlichen Dank Shardik <)

Den oberen Link (glaub ich) hab ich schon probiert. Er reagiert auf Wine nur auf die linke Maustaste.
Der untere Link funktioniert wie benötigt.

Als Dank werd' üsch den (noch geplatzhalterten) Linux-Teil im 2. Beispiel mal ergänzen, wenn ich wieder etwas Luft bekomme :lol: .

Gruß Charly
PureBasic Linux-API-Library: http://www.chabba.de
Benutzeravatar
Shardik
Beiträge: 738
Registriert: 25.01.2005 12:19

Re: Win-ListIconGadget: R-Klick auf Spalten-Header detektier

Beitrag von Shardik »

Omi hat geschrieben:Den oberen Link (glaub ich) hab ich schon probiert. Er reagiert auf Wine nur auf die linke Maustaste.
Ich hatte vorher beide Beispiele unter Windows XP SP3 und Windows 7 SP1 x64 mit PB 5.44 x86 im ASCII-Modus getestet, und das erste Beispiel von srod reagierte korrekt auf den Rechtsklick. Wenn unter Wine nur ein Linksklick erkannt wird, scheint dies entweder ein Fehler in Wine zu sein oder Du hast aus Versehen dieses Beispiel von srod getestet, das in der Tat einen Linksklick auf eine Spaltenüberschrift auswertet... :wink:

Ich habe übrigens eine noch viel größere API-Beispielsammlung als RSBasic (von 2005 bis 2013 und dazu noch mit Beispielen zu Windows, Linux und MacOS). Zu einem Problem habe ich oft mehrere Beispielprogramme mit unterschiedlichen Lösungsmöglichkeiten gesammelt. Leider bin ich bisher zu bequem gewesen bzw. habe den gewaltigen Arbeitsaufwand gescheut, diese Beispiele (so vorbildhaft wie RSBasic und Du) öffentlich zur Verfügung zu stellen. Meine erfassten Beispiele enthalten außerdem in den ersten beiden Zeilen immer den Link zum originalen PureBasic-Posting und den Autor, was ich bei RSBasics Archiv leider sehr vermisse, denn manchmal ist ein Thread noch mit weiteren Beispielen erweitert worden, und es wurde inzwischen schon wieder eine verbesserte oder einfachere Lösung demonstriert. Bei Deinem Linux API Archiv ist dies etwas anders, da die meisten Beispiele ja von Dir selbst stammen oder zumindest überarbeitet worden sind. Trotzdem würde ich mir auch dort Links zu ähnlichen Beispielen (oder zu denen, die Du als Grundlage verwendet hast, auch wenn es C-Programme sein sollten) wünschen. Zumindest mir würde dies bei der Linux-Programmierung zusätzlich helfen. Aber trotz der Kritik (oder besser Verbesserungswunsch) bin ich RSBasic und Dir für eure Arbeit am Windows- und Linux-API Archiv und den Pflegeaufwand natürlich sehr dankbar!
Omi
Beiträge: 143
Registriert: 25.03.2013 09:59

Re: Win-ListIconGadget: R-Klick auf Spalten-Header detektier

Beitrag von Omi »

Hallo Shardik,

(Ich nutze grad schnell das erwischte 'offene' Fenster im Forum - und lad' auch gleich den oberen Code bevor es sich wieder schließt)

der obere Code ignoriert unter meinem aktuell gewählten Wine und dessen Konfiguration tatsächlich den Rechtsklick. Reagiert nicht auf #WM_NOTIFY.
Übrigens sind der erste, obere und der 'fälschliche' Link im 2. Posting gleich ;-)
Aber gut zu wissen dass der Code grundsätzlich lauffähig ist. Muss ich doch tatsächlich das echte XP nochmal anwerfen.

Und noch etwas offtopic ...
Ursprünglich wurde die Linux-Datenbank bei meinem Schnellumstieg für eigene Zwecke erstellt um endlich mal etwas Überblick zu bewahren, da ich schon ahnte, dass mich es mich auf'm Rückweg zum Mac endgültig abgefangen hatte. Urheber, Herkunft bzw. Links fielen häufig untern Tisch.

Als ich mich entschloss die Daten öffentlich zu machen wars zu spät - leider bliebst auch Du einige Male bei den Nennungen auf der Strecke. Mit der Vera (die mich fleissig unterstützte und auch nen guten Überblick über gepostete Codes hat(te)?) gabs auch schon die Diskussion (vor allem das Verlinken auf urspüngliche Codes u.ä. wäre recht hilfreich, da die Verwendung dann doch immer 'spezieller' ist als das schnöde Beispiel und man für jede Variante dankbar ist).
Der Erweiterungs- und zusätzliche Verwaltungsaufwand wäre natürlich enorm, zusätzlich zu den eh schon anfallenden Arbeiten. Vieles an eigenen Projekten und tiefergehenden API-codes bleibt dadurch auf der Strecke.

Würde man die Library auf eine Code- und Link-Mischung als Datenbank aufbereiten bräuchte man eine(n) 2. Mann/Frau - mit klarer Aufgabenteilung. Alles Andere funktioniert auf Dauer im Nebenbei-Betrieb einfach nicht.
Zu Ende gebrachte, echte Mehrsprachigkeit, besser Beschreibung von Themen und Kategorien + Stichworte zur Auffindbarkeit, Einteilung der Themen, ... - es gäbe unendlich Verbesserungpotential.
Eine Möglichkeit die mir seit längerem noch vorschwebt wären Verlinkungen innerhalb der API-Codes, die im API-Viewer den verlinkten thread auf Klick im Browser öffnen (was grundsätzlich möglich sein müßte) und unter der PB-IDE nur auskommentiert angezeigt werden würde.
Schaun' mer mal.

Und noch etwas offtopic'er ...
Was mir momentan noch mehr Kopfzerbrechen bereitet und ständig zu neuen Postings und Bugreports führt ist das schnelle und kommentarlose Verschwinden gefixter, teilgefixter (insbes. Umstieg auf gtk3 mit Freds Kommentaren) und ungefixter (Lösungen noch ausständig oder nicht möglich) Bugreports. Die Bemerkungen, Versuche etc. von Usern und dem Team wären auch nachträglich sehr hilfreich - verschwinden jedoch mit dem Löschen 'erledigter' Bugreprots.
Ich wollte schon seit Tagen das Thema http://www.purebasic.fr/english/viewtop ... 23&t=66905 ergänzen und nebenbei diese Problem mal aufgreifen - komme aber nicht dazu.
Hier müßte dringend eine Liste mit Kurzbeschreibungen und Bearbeitungsstand aller gelöschten Bugthemen ins Forum.

Gruß Charly
PureBasic Linux-API-Library: http://www.chabba.de
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Win-ListIconGadget: R-Klick auf Spalten-Header detektier

Beitrag von RSBasic »

Shardik hat geschrieben:Meine erfassten Beispiele enthalten außerdem in den ersten beiden Zeilen immer den Link zum originalen PureBasic-Posting, was ich bei RSBasics Archiv leider sehr vermisse
Ja das stimmt. Ich habe nur den Autor genannt, aber keinen Link zum originalen Thread hinzugefügt. Das hätte ich wirklich von Anfang an machen müssen. Leider nicht daran gedacht. Mal schauen, vielleicht finde ich die originalen Threads noch und füge den jeweiligen Link nachträglich ein.
Shardik hat geschrieben:Bei Deinem Linux API Archiv ist dies etwas anders, da die meisten Beispiele ja von Dir selbst stammen
Bei meiner WinAPI Library wurden die meisten Beispielcodes auch von mir selber geschrieben. (869 Codes selber geschrieben und 183 Codes aus Foren übernommen)
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
Shardik
Beiträge: 738
Registriert: 25.01.2005 12:19

Re: Win-ListIconGadget: R-Klick auf Spalten-Header detektier

Beitrag von Shardik »

RSBasic hat geschrieben:
Shardik hat geschrieben:Meine erfassten Beispiele enthalten außerdem in den ersten beiden Zeilen immer den Link zum originalen PureBasic-Posting, was ich bei RSBasics Archiv leider sehr vermisse
Ja das stimmt. Ich habe nur den Autor genannt, aber keinen Link zum originalen Thread hinzugefügt. Das hätte ich wirklich von Anfang an machen müssen. Leider nicht daran gedacht. Mal schauen, vielleicht finde ich die originalen Threads noch und füge den jeweiligen Link nachträglich ein.
Ich wäre Dir sehr dankbar, wenn Du zumindest bei der Übernahme zukünftiger Beispiele neben dem Autor auch den jeweiligen Link angeben könntest. Ich weiß, dass es ein sehr großer Arbeitsaufwand ist, nachträglich die Links zu finden. Wenn ich zukünfig Beispiele bei Dir finden sollte, zu denen ich den zugehörigen Link weiß, dann kann ich Dir diese ja per PN nachreichen...
RSBasic hat geschrieben:
Shardik hat geschrieben:Bei Deinem Linux API Archiv ist dies etwas anders, da die meisten Beispiele ja von Dir selbst stammen
Bei meiner WinAPI Library wurden die meisten Beispielcodes auch von mir selber geschrieben. (869 Codes selber geschrieben und 183 Codes aus Foren übernommen)
Entschuldigung, ich habe Dein Archiv noch nicht so häufig verwendet, da ich zuerst immer in meinem eigenen privaten Archiv suche. Ich hatte bei oberflächlichem Überfliegen nur festgestellt, dass ich schon viele Beispiele aus meinem eigenen Archiv kannte. Vielen Dank daher für die genaue Angabe, was von Dir selbst stammt und was Du übernommen hast.

In meinem Archiv habe ich auch sehr viele Beispiele, die von mir selbst stammen. Oft habe ich dann auch noch in den ersten beiden Kommentarzeilen den Link von z.B. stackoverflow angegeben und Autor und Programmiersprache, aus der ich das Beispiel konvertiert habe. Auch hier ist der Link oft sehr wertvoll, da bei späteren Problemen mit einem Beispiel-Code immer noch einmal im Link nachgeschaut werden kann, ob mir Fehler in der Konvertierung unterlaufen sind oder ob in der Zwischenzeit noch weitere Beispiele mit anderen (vielleicht kürzeren oder eleganteren) Lösungsansätzen hinzugekommen sind.
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Win-ListIconGadget: R-Klick auf Spalten-Header detektier

Beitrag von RSBasic »

Shardik hat geschrieben:Ich wäre Dir sehr dankbar, wenn Du zumindest bei der Übernahme zukünftiger Beispiele neben dem Autor auch den jeweiligen Link angeben könntest.
Das kann ich auf jeden Fall gerne machen.
Shardik hat geschrieben:Wenn ich zukünfig Beispiele bei Dir finden sollte, zu denen ich den zugehörigen Link weiß, dann kann ich Dir diese ja per PN nachreichen...
Ja, das wäre super.
Shardik hat geschrieben:Oft habe ich dann auch noch in den ersten beiden Kommentarzeilen den Link von z.B. stackoverflow angegeben und Autor und Programmiersprache, aus der ich das Beispiel konvertiert habe.
Jupp, so etwa habe ich das auch gemacht. Ich habe als Grundbasis/-Hilfe die MSDN-Seite verwendet. Die Links zu den jeweiligen WinAPI-Funktionen/-Strukturen habe ich aber nicht als Kommentar im Quellcode eingefügt, sondern die Verlinkungsfunktion meines Offline-Programms benutzt, da es je nach Code-Größe viele MSDN-Links gibt. Ich wollte damit den Beispielcode nicht unnötig aufblähen.
In der Offline-Version sieht es so aus:
Bild

Mit einem Klick auf den gewünschten Eintrag wird die jeweilige MSDN-Seite im Browser geöffnet, um weitere Informationen zu lesen.
Insgesamt wurden 859 verschiedene MSDN-Links im Programm eingetragen.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Antworten