AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi ButtonKlick ermitteln und wiedergeben
Thema durchsuchen
Ansicht
Themen-Optionen

ButtonKlick ermitteln und wiedergeben

Ein Thema von VT-DA · begonnen am 1. Aug 2005 · letzter Beitrag vom 6. Aug 2005
Antwort Antwort
Seite 2 von 4     12 34      
matze.de

Registriert seit: 30. Jul 2005
Ort: Bell(Eifel)
7 Beiträge
 
Delphi 7 Professional
 
#11

Re: ButtonKlick ermitteln und wiedergeben

  Alt 2. Aug 2005, 20:45
Hm kapier die Fragestellung dann nicht.. und nicht meckern wegen meinem Quellcode ich bin atm im "Systemnahen Programmieren Feeling"...(Man häts ja auch mit OnClick machen können )

mfg matze
Mathias
()_()
(O.o) This is Bunny. Copy Bunny into your signature to help him on
(> <) his way to world domination.
  Mit Zitat antworten Zitat
matze.de

Registriert seit: 30. Jul 2005
Ort: Bell(Eifel)
7 Beiträge
 
Delphi 7 Professional
 
#12

Re: ButtonKlick ermitteln und wiedergeben

  Alt 2. Aug 2005, 21:18
Naja, wenn du den Status eines Buttons haben willst, dann probiers mal mit
SendMessage(Button1.Handle, BM_GETSTATE, 0, 0); Mehr dazu unter:MSDN - BM_GETSTATE

mfg matze
Mathias
()_()
(O.o) This is Bunny. Copy Bunny into your signature to help him on
(> <) his way to world domination.
  Mit Zitat antworten Zitat
Benutzerbild von VT-DA
VT-DA

Registriert seit: 20. Jul 2005
Ort: Heiden
59 Beiträge
 
#13

Re: ButtonKlick ermitteln und wiedergeben

  Alt 2. Aug 2005, 21:58
Hi,

hmm. Ihr verwirrt mich etwas.

@tigerman33
Könntest du mir vielleicht auch nochmal erklären wie ich sowas anwende?
Hab nen bischen rumexperementiert aber der sagt mir das ich Paramater fehlen wenn ich es so mache:

Delphi-Quellcode:
function ButtonClick(Obj: TButton): Integer; stdcall;
var i: Integer;
begin
  for i := Low(ButtonArray) to High(ButtonArray) do
  begin
    if Obj = ButtonArray[i].BHandel then
    begin
      if TNotifyEvent(ButtonArray[i].BHandel) = ButtonArray[i].BHandel then
        result := 1
      else
        result := 0;
    end;
  end;
end;
Dein Typ hab ich dann oben bei den anderen eingefügt...

@Der Rest
Ich möchte einfach nur eine Abfrage machen ob ein bestimmter Button geklickt wurde. Dabei ist aber zu beachten das die Fenster und Buttons variable sind. Das heißt ich kann es, wie ins matze.de's Beispiel, nicht machen weil ich das Fensterhandel ja nicht weiß. Es ist ja wie das Buttonhandel in einem Dynamischen Array gespeichert.

Mfg
  Mit Zitat antworten Zitat
Benutzerbild von VT-DA
VT-DA

Registriert seit: 20. Jul 2005
Ort: Heiden
59 Beiträge
 
#14

Re: ButtonKlick ermitteln und wiedergeben

  Alt 3. Aug 2005, 14:52
Hi,

hmm. Ich sitz jetzt schon seit zwei Tagen dran.
Wirklich niemand mehr lust mir zu helfen?

Mfg
  Mit Zitat antworten Zitat
matze.de

Registriert seit: 30. Jul 2005
Ort: Bell(Eifel)
7 Beiträge
 
Delphi 7 Professional
 
#15

Re: ButtonKlick ermitteln und wiedergeben

  Alt 3. Aug 2005, 15:31
Wieso lust? Ich kapier die Frage immernoch nicht.....

mfg matze
Mathias
()_()
(O.o) This is Bunny. Copy Bunny into your signature to help him on
(> <) his way to world domination.
  Mit Zitat antworten Zitat
tigerman33

Registriert seit: 30. Jul 2005
Ort: München
423 Beiträge
 
Delphi 2005 Professional
 
#16

Re: ButtonKlick ermitteln und wiedergeben

  Alt 3. Aug 2005, 19:16
Hi VT-DA

Zitat:
Dein Typ hab ich dann oben bei den anderen eingefügt...
Tja... Das ist leider nicht mein Typ, der gehört zum Lieferumfang von Delphi. Du hast mich auch ein wenig missverstanden. Damit kannst du nicht prüfen, OB der Button gedrückt wurde. Stattdessen erzeugst du quasi einen "künstlichen" Klick. Der Parameter der fehlt, ist der Sender. Funktionieren würde es mit
if OnClick(ButtonArray[i]) = ButtonArray[i].BHandel then ... Allerdings haut dir dann der Compiler vermutlich irgendwas in der Art von "Eine Prozedur hat keinen Rückgabewert" um die Ohren. Und warum? Weil OnClick (bzw. überhaupt ein TNotifyEvent) nicht dazu da ist, zu überprüfen, ob das entsprechend Event (also hier der Klick) eingetreten ist. Stattdessen ist es dazu gedacht, auf Ereignisse zu reagieren.

Außerdem verstehe ich nicht ganz, wofür du das ButtonArray brauchst. Alles was du damit machst, ist dir aus dem Array wieder den in Obj übergebenen Button rauszusuchen.
if Obj = ButtonArray[i].BHandel then Warum ersetzt du also nicht die for-Schleife und arbeitest direkt mit dem Parameter Obj? Und weshalb hast du als Rückgabewert einen Integer? Das sieht nämlich eigentlich eher nach einer Boolean aus...

Matze, die Funktion steht in einer DLL, daher bringt es nichts, die WndProc des Forms zu überschreiben. Denn danach weiß zwar das Form Bescheid, dass ein Button geklickt wurde--die Funktion in der DLL aber immer noch nicht.

Aber irgendwie muss ich auch sagen dass ich nicht so richtig verstehe, wofür du diese Funktion brauchst. Kannst du das nicht irgendwie anders lösen? Erzähl doch einfach mal, was du überhaupt vorhast, vielleicht ergibt sich dann ja noch eine andere Lösung.
Christian
  Mit Zitat antworten Zitat
Benutzerbild von VT-DA
VT-DA

Registriert seit: 20. Jul 2005
Ort: Heiden
59 Beiträge
 
#17

Re: ButtonKlick ermitteln und wiedergeben

  Alt 3. Aug 2005, 20:44
Hi,

Okay. Ich versuche eine GUI zu machen die auch in anderen Programmiersprachen benutzt werden kann.
Was natürlich bei einer GUi nicht fehlen darf sind Buttons. Naja. Und man muss ja die Buttons auch irgendwie ansprechen. Dazu brauch ich die Funktion.

Ich habe es bei der GUi so gemacht, dass alle Fenster / Buttons etc. in Dynamischen Arrays gespeichert werden weil ich ja nicht weiß wie viele der Anwender braucht.

Edit:
Zitat von tigerman33:
Hi VT-DA
Außerdem verstehe ich nicht ganz, wofür du das ButtonArray brauchst. Alles was du damit machst, ist dir aus dem Array wieder den in Obj übergebenen Button rauszusuchen.
if Obj = ButtonArray[i].BHandel then Warum ersetzt du also nicht die for-Schleife und arbeitest direkt mit dem Parameter Obj? Und weshalb hast du als Rückgabewert einen Integer? Das sieht nämlich eigentlich eher nach einer Boolean aus...
Ups. Gaanz vergessen .
Also ich übergebe bei dem Funktionsaufruf noch den Handel mit zur Fehlerkorrektur. Würde ich das nciht machen, und der Handel der dabei übergeben wurde würde falsch sein, dann würde eine Fehlermeldung kommen. Da ich das aber nicht will hab ich das so gemacht.

Ich habe den Funktionsrückgabewert auf Integer gestellt damit es leichter ist für den Benutzer. Somit brauch er nämlich nur prüfen ob o oder 1 zurück kommt.

Mfg
  Mit Zitat antworten Zitat
tigerman33

Registriert seit: 30. Jul 2005
Ort: München
423 Beiträge
 
Delphi 2005 Professional
 
#18

Re: ButtonKlick ermitteln und wiedergeben

  Alt 4. Aug 2005, 18:05
Hmmm...also jetzt hast du mich vollkommen verwirrt...

Der Sinn der ganzen Sache erschließt sich mir immer noch nicht ganz. Aber ich werd mal da weiterhelfen wo ich kann

Zitat:
Ich habe den Funktionsrückgabewert auf Integer gestellt damit es leichter ist für den Benutzer. Somit brauch er nämlich nur prüfen ob o oder 1 zurück kommt.
Aha. Das ist aber doch mit boolean noch einfacher, oder? Dann muss der Benutzer nämlich nur noch prüfen, ob das true oder false ist. Geht bei Delphi sogar mit verkürzter Syntax! Also statt
if ButtonClick(Button) = 1 then ... reicht sogar if ButtonClick(Button) then ... Wenn du eine GUI schreiben willst, dann würde ich den Umweg über die Delphi-Komponenten weglassen. Dann fährst du vermutlich besser, wenn du die von der Windows-API mitgelieferten Komponenten in deiner DLL kapselst. Aber ich verstehe nicht, wozu du das machen willst...sorry

Vielleicht sollten wir uns mal im Chat treffen, da kann man ein wenig effektiver diskutieren. Außerdem wäre es nicht schlecht, mal ein bisschen mehr von deinem Quellcode zu sehen. Denn wie gesagt: Sinn und Zweck sehe ich leider immer noch nicht. Liefert deine Zielsprache für die du das alles machst denn keine GUI mit?
Christian
  Mit Zitat antworten Zitat
Benutzerbild von VT-DA
VT-DA

Registriert seit: 20. Jul 2005
Ort: Heiden
59 Beiträge
 
#19

Re: ButtonKlick ermitteln und wiedergeben

  Alt 4. Aug 2005, 20:50
Hi,

Ich würde mich gerne mal mit dir im Chat treffen.
Gibs da einen offizielen Chat oder sowas?

Mfg
  Mit Zitat antworten Zitat
tigerman33

Registriert seit: 30. Jul 2005
Ort: München
423 Beiträge
 
Delphi 2005 Professional
 
#20

Re: ButtonKlick ermitteln und wiedergeben

  Alt 5. Aug 2005, 13:32
In DP ist doch ein Chatroom dabei, der würde sich dann ja anbieten. Ich bin unter der Woche meist so ab 16:30 Uhr , 17:00 Uhr online, da check ich dann auch DP immer. Würde dir die Zeit passen? Wenn du deinen online Status nicht versteckt hast, würd ich dann ja sehen ob du da bist. Jetzt am Wochenende weiß ich noch nicht, wann ich online bin. Vermutlich so vormittags irgendwann...
Christian
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 4     12 34      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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 aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:01 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz