Editor-Gadget bearbeitet? [gelöst]

Windowsspezifisches Forum , API ,..
Beiträge, die plattformübergreifend sind, gehören ins 'Allgemein'-Forum.
Benutzeravatar
Josef Sniatecki
Beiträge: 657
Registriert: 02.06.2008 21:29
Kontaktdaten:

Editor-Gadget bearbeitet? [gelöst]

Beitrag von Josef Sniatecki »

Hi Leutz,

weiß jemand unter euch, wie ich erfahren kann, ob ein Editor-Gadget
bearbeitet wurde. Mit "bearbeitet" meine ich, ob der Benutzer den Text im
Editor-Gadget modifiziert hat.
Habe bisher nichts richtiges gefunden. Auch ein passendes
#WM-Event kenne ich nicht.

Denke mal, dass es was mit Win-API zu tun hat, deswegen poste ich hier.

Schon mal danke im voraus.
Gruß Josef
Zuletzt geändert von Josef Sniatecki am 08.01.2009 21:42, insgesamt 1-mal geändert.
PB 4.61 | Windows Vista - 32Bit
Homepage

"Wahrlich es ist nicht das Wissen, sondern das Lernen, nicht das Besitzen sondern das Erwerben, nicht das Dasein, sondern das Hinkommen, was den grössten Genuss gewährt." - Carl Friedrich Gauß
Benutzeravatar
Kiffi
Beiträge: 10711
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: Editor-Gadget bearbeitet? - Wie lösen

Beitrag von Kiffi »

nix API:

Code: Alles auswählen

OldEditorGadgetText$ = GetGadgetText(#DeinEditorGadget)

[weiterer Code]

If OldGadgetText$ <> GetGadgetText(#DeinEditorGadget)
  Debug "Text wurde bearbeitet"
EndIf
Grüße ... Kiffi
a²+b²=mc²
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Re: Editor-Gadget bearbeitet? - Wie lösen

Beitrag von edel »

Kiffi hat geschrieben:nix API:

Code: Alles auswählen

OldEditorGadgetText$ = GetGadgetText(#DeinEditorGadget)

[weiterer Code]

If OldGadgetText$ <> GetGadgetText(#DeinEditorGadget)
  Debug "Text wurde bearbeitet"
EndIf
Grüße ... Kiffi
Dann hoffen wir aber mal das der Text nicht zu lang wird ;)
Benutzeravatar
Josef Sniatecki
Beiträge: 657
Registriert: 02.06.2008 21:29
Kontaktdaten:

Beitrag von Josef Sniatecki »

@Kiffi
So habe ich das auch mal gemacht, aber gibt es da keine andere Lösung?
Ich muss ja sonst immer wieder den alten Text in einen String abspeichern.
Ist das wirklich notwendig? Es reicht ja schon, dass ein riesen Text im
Gadget gespeichert ist.
Ich glaube nicht, dass das in anderen Text-
Editoren auch so gemacht wird, oder irre ich mich jetzt?

Ich fände es besser, wenn man durch irgendein Event-Zeugs erkennen
könnte, ob der Benutzer etwas am Text gemacht hat.

Wenn das wirklich die einzige Lösung ist, dann würde mich das wundern...

@Edel
ganz meiner Meinung
PB 4.61 | Windows Vista - 32Bit
Homepage

"Wahrlich es ist nicht das Wissen, sondern das Lernen, nicht das Besitzen sondern das Erwerben, nicht das Dasein, sondern das Hinkommen, was den grössten Genuss gewährt." - Carl Friedrich Gauß
Oliver1994
Beiträge: 321
Registriert: 15.06.2008 21:52

Beitrag von Oliver1994 »

Ein Event würde aber ähnliches tun!
Dare Devil
Beiträge: 237
Registriert: 17.10.2008 18:24
Kontaktdaten:

Beitrag von Dare Devil »

Mit einem StringGadget wuerde es gehen:

Code: Alles auswählen

OpenWindow(0, 0, 0, 200, 200, "", #PB_Window_SystemMenu)

StringGadget(0, 0, 0, 200, 200, "")

Repeat
  EventID = WaitWindowEvent()
  
  If EventID = #PB_Event_Gadget
    If EventGadget() = 0 And EventType() = #PB_EventType_Change
      MessageRequester("", "Es wurde etwas eingegeben!")
    EndIf
  ElseIf EventID = #PB_Event_CloseWindow
    Break
  EndIf
ForEver
Fragt sich nur, warum das nicht auch beim EditorGadget implementiert wurde... :?
Bild + Bild

Bild
Benutzeravatar
Josef Sniatecki
Beiträge: 657
Registriert: 02.06.2008 21:29
Kontaktdaten:

Beitrag von Josef Sniatecki »

@Oliver
Nur das ein Event schon von Windows bearbeitet wird. Ich erhalte da
nur eine oder mehrere IDs. Da muss ich nicht nochmal extra den ganzen
Text in einen String kopieren und diesen die ganze Zeit mit dem aktuellen
Text vergleichen.

Events sind wesentlich schneller und auserdem professioneller (ich bin so'n
Typ der halt alles richtig machen will. Wiederum nicht so einer, der sich
im Laden nicht entscheiden kann, welche Butterkekse er kaufen soll, nur
weil er die perfektesten haben will.).
PB 4.61 | Windows Vista - 32Bit
Homepage

"Wahrlich es ist nicht das Wissen, sondern das Lernen, nicht das Besitzen sondern das Erwerben, nicht das Dasein, sondern das Hinkommen, was den grössten Genuss gewährt." - Carl Friedrich Gauß
Benutzeravatar
cxAlex
Beiträge: 2111
Registriert: 26.06.2008 10:42

Beitrag von cxAlex »

> Fragt sich nur, warum das nicht auch beim EditorGadget implementiert wurde... :?

Das Editor Gadget ist ein RTF Controll, das ist etwas aufwändiger zu Managen als die anderen 'einfacheren' Controlls. Mit einem CallBack sollte das IMHO trozdem zu lösen sein, müsste mal schaun wie das geht.
Projekte: IO.pbi, vcpu
Pausierte Projekte: Easy Network Manager, µC Emulator
Aufgegebene Projekte: ECluster

Bild

PB 5.1 x64/x86; OS: Win7 x64/Ubuntu 10.x x86
Benutzeravatar
Josef Sniatecki
Beiträge: 657
Registriert: 02.06.2008 21:29
Kontaktdaten:

Beitrag von Josef Sniatecki »

@Dare Devil
Das ist eine gute Lösung. Denn so wie ich weiß kann man String-Gadgtes
auch in so ein Multiline dings bumbs umwandeln, indem man eine
bestimmte Konstante eingibt (keine PB-Konstante). Müsste dafür wieder
in den Code-Archiv reingucken.

Wäre trotzdem gut, wenn es auch direkt mit dem Editor-Gadget gehen
würde.
PB 4.61 | Windows Vista - 32Bit
Homepage

"Wahrlich es ist nicht das Wissen, sondern das Lernen, nicht das Besitzen sondern das Erwerben, nicht das Dasein, sondern das Hinkommen, was den grössten Genuss gewährt." - Carl Friedrich Gauß
Benutzeravatar
Josef Sniatecki
Beiträge: 657
Registriert: 02.06.2008 21:29
Kontaktdaten:

Beitrag von Josef Sniatecki »

cxAlex hat geschrieben:> Fragt sich nur, warum das nicht auch beim EditorGadget implementiert wurde... :?

Das Editor Gadget ist ein RTF Controll, das ist etwas aufwändiger zu Managen als die anderen 'einfacheren' Controlls. Mit einem CallBack sollte das IMHO trozdem zu lösen sein, müsste mal schaun wie das geht.
Hm... wenn das so ist. Habe auch gemerkt, dass ich Editor-Gadgets nicht
so leicht mit API behandeln lassen wie String-Gadgets die mit einem
Multiline-Flag erstellt wurden.
PB 4.61 | Windows Vista - 32Bit
Homepage

"Wahrlich es ist nicht das Wissen, sondern das Lernen, nicht das Besitzen sondern das Erwerben, nicht das Dasein, sondern das Hinkommen, was den grössten Genuss gewährt." - Carl Friedrich Gauß
Antworten