EditorGadget - Blockcursor [X]

Windowsspezifisches Forum , API ,..
Beiträge, die plattformübergreifend sind, gehören ins 'Allgemein'-Forum.
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

EditorGadget - Blockcursor [X]

Beitrag von RSBasic »

Guten Morgen :mrgreen:

Ich habe wieder eine WinAPI-Frage,
beim EditorGadget ist der Cursor ein Strich, ich habe aber von anderen Editoren gesehen, die stattdessen ein Blockcursor haben.
Wie kann ich das realisieren?
Zuletzt geändert von RSBasic am 31.12.2007 12:49, insgesamt 1-mal geändert.
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

Poste meine Schnapsidee nur, damit ich dich fragen kann:
Was soll denn dieses [ ] im Threadtitel? :? :?

Wie wär's hiermit:

Code: Alles auswählen

SetActiveGadget(#EditoGadget)
keybd_event_(#VK_INSERT, 0, 0, 0)
keybd_event_(#VK_INSERT, 0, #KEYEVENTF_KEYUP, 0)
Damit wird der Cursor zwar nicht zum Block, aber trotzdem wird er zum Überschreib-Cursor.

Du weiß ja, man kann durch Drücken der Insert-Taste wählen, ob Text an der Cursorstelle eingefügt werden soll oder nachfolgenden Text überschreoben soll (Umschalten zwischen Einfüge- und Überschreibmodus). Einfach das Beispiel bei EditorGadget() aus der Hilfe nehmen, Cursor in die erste Zeile setzen, Einfg drücken und probieren.
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Benutzeravatar
hjbremer
Beiträge: 822
Registriert: 27.02.2006 22:30
Computerausstattung: von gestern
Wohnort: Neumünster

Beitrag von hjbremer »

ich glaube nicht das dies viel nützt, denn durch die variable Charakterbreite sieht es ... aus finde ich.
Du müßtest einen nichtproportionalen Font wählen.

Code: Alles auswählen

CreateCaret_(GadgetID(#Edit_strg_nr), 0, 5,15)
ShowCaret_(GadgetID(#Edit_strg_nr)) 

CreateCaret_(GadgetID(#Edit_strg_nr), 0, 1,15)
ShowCaret_(GadgetID(#Edit_strg_nr))
Purebasic 5.70 x86 5.72 X 64 - Windows 10

Der Computer hat dem menschlichen Gehirn gegenüber nur einen Vorteil: Er wird benutzt
grüße hjbremer
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Beitrag von RSBasic »

@AND51
AND51 hat geschrieben:Was soll denn dieses [ ] im Threadtitel? :? :?
:? Ist dir das noch nicht aufgefallen?

[ ] = Nicht erledigt
[X] = Erledigt

@hjbremer
Joar so ein Blockcursor meinte ich, nur ist das leider nicht dauerhaft.
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Beitrag von RSBasic »

(Sry für den DoppelPost)
@hjbremer
Wenn ich das in der Event-Loop mache, dann wird das zu dauerhaft und sogar keine Probleme.
Danke :)

@AND51
Und wie du siehst, ist oben ein Kreuz, d.h. erledigt :wink:
Antworten