Seite 1 von 1

Stringgadget - Edierfunktionen

Verfasst: 15.06.2005 00:52
von Daffy0815
Hallo,

weis jemand wie man z.B. einem Stringgadget "erweiterte" Funktionen beibringt?

Ich denke hierbei z. B. an die Möglichkeit den Inhalt bereits markiert zu übergeben oder das die Taste Return das Gadget schließt und vieles mehr.

Oder Anders: Alles was man üblicherweise von einer Zeileneingaberoutine bei den "guten alten" DOS-Basc-Compiler-Bibliotheken her kennt.

Gruß

Daffy

Verfasst: 15.06.2005 01:35
von Ynnus
Öhm, wie soll denn ein Gadget geschlossen werden? Wohin denn und mit was abschließen? Irgendwie versteh ich das nicht so recht. Ansonsten sollten sich alle WinAPI-Messages an das Gadget schicken lassen können, welche mit einem Fenster der Klasse EDIT zu tun haben. (Meist gehen auch Messages verwandter Klassen)
Damit solltest du dann in der Lage sein, alle möglichen Dinge mit dem Stringgadget anzustellen.

Verfasst: 15.06.2005 11:04
von bobobo
@Sunny
Daffy meint mit ABSCHLIESSEN wohl dass die Eingabe eines Strings in einem Stringgadget mit ENTER beendet werden können soll.

@Daffy
guck mal im Codearchiv

da gibts haufenweise Beispiele zu Stringgadgets und deren Behandlung.
http://www.purearea.net/pb/CodeArchiv/German.html#5

Verfasst: 16.06.2005 23:39
von Daffy0815
@bobobo

Danke, Antwort war sehr hilfreich!

Was bei Purbasic etwas störend ist, ist das viele externe Konstanten und Aufrufe verwendet werden deren Dokumentation nur sehr schwer oder überhaupt nicht zu finden sind.

Beispiel:

SendMessage_(GadgetID(gad),#EM_SETSEL,0,99999)

Das ist aus dem Codearchiv um z. B. den Inhalt des Stringgadgets bereits markiert auszugeben so das ein Tastendruck auf "Entf" das gesamte Eingabefeld löscht.
Dies ist zum Beispiel eine Funktion die ein normales Eingabefeld bietet.

Wo finde ich etwas zu "Sendmessage_" oder "#EM_SETSEL" und was hat es mit "0,99999" auf sich?

Die beim Stringgadget im Handbuch dokumentierten "Flags"

#PB_String_Numeric, #PB_String_Multiline, #PB_String_Password, #PB_String_ReadOnly, #PB_String_LowerCase, #PB_String_UpperCase und #PB_String_BorderLess

sind doch ein wenig "arm" und wie man sieht offenbar bei weitem nicht alle Möglichkeiten die es gibt.

Verfasst: 17.06.2005 01:47
von ts-soft
Die meisten Funktionen welche mit einem Unterstrich enden, also z.B. SendMessage_ sind Win-API Funktionen. Diese in der normalen Hilfe von PureBasic zu dokumentieren ist leider nicht möglich. Du kannst Dir das Plattform-SDK von Microsoft laden oder die Win32.hlp ins Help-Verzeichnis kopieren, um Hilfe hierzu erhalten. In der PureBasic-Hilfe sind nur die reinen PB-Funktionen dokumentiert, die auch meist Plattformunabhängig sind. Ansonsten such hier doch mal im Forum nach API bzw. im FAQ-Forum findest Du auch Hinweise zu entsprechender Literatur

Verfasst: 17.06.2005 06:30
von Green Snake
1.wie ts-soft schon sagte, das sind api, und steht darum nicht in der help.
2. falls du noch mehr möglischkeit brauchst, dan schreib die am besten selbst eine procedure :allright:

Verfasst: 18.06.2005 00:44
von Daffy0815
Danke für die Antworten!

Ich dachte mir schon, dass es sich um Aufrufe der WinAPI handelt.

Was das mit dem "selber schreiben" betrifft so denke ich, dass dies tatsächlich die beste Lösung darstellt.
Eigenlich sollte die Stärke von PureBasic doch unter Anderem darin liegen, Plattformunabhängig zu sein.

Dies wäre bei Programmen die sich auf Funktionen aus dem Hause Micro$oft stützen ja nicht mehr gegeben.

Verfasst: 18.06.2005 09:03
von Green Snake
genau, api kannst du nicht zb unter linux nutzen.
das ist wirklich eine der stärken von pb, dass sie auf vielen platformen laufen :allright:

Verfasst: 18.06.2005 13:11
von AndyX
Linux hat doch auch APIs :roll:

Verfasst: 19.06.2005 15:40
von Daffy0815
@AndyX

Klar hat Linux auch API's aber nicht die Gleichen!