Deutsch
Forum

Entf- Taste in einem Dialog abfragen?

 
- Seite 1 -



holmol93
Halloooo miteinander

Ist es irgendwie möglich, in einem Dialog abzufragen, ob die Entf Taste gedrückt wurde? %scankey scheint ja keine Wirkung zu haben (nur im Hauptfenster)...

Habe das Forum mal ein wenig durchforstet, da war immer von Abfragen über die Windows API Funktionen die Rede... mit denen habe ich mich bis jetzt aber allgemein noch nicht befasst und weiss rein vom Verständnis und der Implementierung garnichts damit anzufangen

Hätte jemand ein Beispiel für diesen Fall?
(Im "alten" XProfan Forum, welches man noch via Google findet, gab es mal ein ähnliches Thema, aber die Beiträge sind nicht mehr abrufbar )

EDIT:

Um das ganze klarer zu machen:
Ich möchte die Entf Taste abfragen und, falls ein Listboxinhalt ausgewählt wurde, soll dieser Inhalt aus der DB, aus der er geladen wurde, gelöscht werden.

Also nach dem Motto: WENN ENTF Taste gedrückt UND Inhalt ausgewählt dann: ausgewählter Inhalt in String einlesen, DB öffnen, Inhalt suchen und löschen. Listbox komplett löschen und DB neu in Listbox laden.

Soll den Effekt haben, wie man wenn mittels ENTF einen Datensatz löschen könnte.
Bis jetzt realisiere ich das mit einem "Löschen" Button, aber mittels ENTF (so kenn ich das zB aus Access) ists eleganter

Gruess us Bärn,

Danny
 
13.06.2013  
 



« Dieser Beitrag wurde als Lösung gekennzeichnet. »


Thomas
Freier
Der einfachste Weg geht über AddHotKey. Mini Beispiel
KompilierenMarkierenSeparieren
cls
var dlg&=Create("Dialog",%hwnd,"",10,10,700,300)
var GridBox&=Create("GridBox", dlg&, "Eins;2;144;Zwei;2;144;Drei;2;144;Vier;2;144;NR;0;0", 0, 20, 20, width(dlg&)-40, height(dlg&)-70)
clearlist
MoveListToHandle(GridBox&)
AddString(GridBox&,"Eins | Zwei | Drei | Vier | 3")
AddString(GridBox&,"Zwei | Drei | Vier | Fünf | 1")
AddString(GridBox&,"Drei | Vier | Fünf | Sechs | 4")
AddString(GridBox&,"Vier | Fünf | Sechs | Sieben | 2")
AddHotKey 7001, 12, 0
AddHotKey 7001, 46, 0

while 1

    waitinput
    case %key=2:BREAK

    If Getfocus(GridBox&)

        If GetCurSel(GridBox&) > -1

            'ggf. MenuItem und Button
            case MenuItem(7001) OR MenuItem(7002): Messagebox("Entf gedrückt\nsoll der Datensatz Nr. " \
            +GetText$(GridBox&, GetCurSel(GridBox&), 4)\
            +"\ngelöscht werden","Hinweis",32)

        endif

        setfocus(GridBox&)

    endif

wend

end

Bei DBs "schleppe" ich in der letzten Spalte die Satznummer mit (alte Marotte). Veränderungen können dann immer unmittelbar über die Satznummer erfolgen.
AddHotKey hat auch seine Nachteile.

Sollte es wirklich eine Listbox gemeint sein und der Text nicht mehrfach in der DB gesucht werden soll, besteht bei mir der Listboxstring aus TEXT+Space(ausreichend)+"|"+DB-NR. Die Nummer dann per SubStr$($, -1, "|") ermitteln.
 
Gruß Thomas
Windows XP SP2, XProfan X2
14.06.2013  
 




holmol93
Heyhooo merci viumau!

Dass es so geht, hätte ich nicht gedacht, weil ich hatte das mit den Hotkeys schon ausprobiert

Und merci für das Beispiel mit der Gridbox!
Ich wusste garnicht, dass es so etwas gibt, weil ich meine Fenster im ROC zusammenbastle... Wenn ich mehrere Spalten hatte, habe ich immer 2 listboxen nebeneinander gestellt :O
(Ich weiss, listview.dll gibt es auch noch, aber die fand ich zu umständlich für das, was ich damit machen wollte. )

Vielen Vielen Dank!

Greeetz,

Danny
 
14.06.2013  
 




Thomas
Freier
Eine Gridbox ala Listbox, also ohne Spaltenüberschrift geht mit:
KompilierenMarkierenSeparieren
 $H commctrl.ph
'--Gridbox ohne Header:
setstyle Gridbox&,getstyle(Gridbox&) | ~LVS_NOCOLUMNHEADER
 
Gruß Thomas
Windows XP SP2, XProfan X2
14.06.2013  
 




holmol93
Hey

Ich find Gridboxen sind in der "Urfassung" eh eher das, was ich mir vorgestellt habe um Datensätze anzuzeigen...
Ich wollte für so etwas einfach nicht jedes mal ein Listview bemühen und weil ich nicht wusste, dass es Gridboxen gibt, habe ich zwangsläufig Listboxen dafür bemüht

Mein Programm loggt aber zB Logon Vorgänge im Programm für jeden Benutzer separat und wenn man dieses Logfile aufruft zeigt sich jetzt ein deutlicher Geschwindigkeitsvorteil im Vergleich zu Listboxen.
Da konnte man bei vielen Einträgen praktisch zuschauen, wie die geladen wurden :o)

Greeetz,

Danny
 
14.06.2013  
 



Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

6.382 Betrachtungen

Unbenanntvor 0 min.
Rainer Hoefs21.04.2015
Andre Rohland31.12.2014
Jochen Roxlau04.10.2014
RGH25.09.2014
Mehr...

Themeninformationen

Dieses Thema hat 2 Teilnehmer:

holmol93 (3x)
Thomas Freier (2x)


Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie