Deutsch
Wünsche und Anregungen

Wunsch: Neues RichEdit

 

Uwe
''Pascal''
Niemeier
Hi Roland!

Mir ist vor kurzem aufgefallen, das Profans Create("RichEdit"...) 
ein Control der "alten" Klasse RICHEDIT anlegt anstatt das neuere Richedit20A zu verwenden:
KompilierenMarkierenSeparieren
window 400,400
var a&=create("RichEdit",%hwnd,"",10,30,200,50)
settext a&,classof(a&)
sendmessage(a&,1087,0,1)--EM_HIDESELECTION => none
sendmessage(a&,177,0,-1)--EM_SETSEL => alles markieren
var b&=control("RichEdit20A","",getstyle(a&),10,120,200,50,%hwnd,1,0)
settext b&,classof(b&)
sendmessage(b&,1087,0,1)--EM_HIDESELECTION => none
sendmessage(b&,177,0,-1)--EM_SETSEL => alles markieren

while 1

    waitinput
    beep

endwhile


Ist wahrscheinlich aus Kompatiblitätsgründen mit älteren Windows-Versionen so?
Neben der Farbe der Markierung gibt es aber auch Unterschiede z.B. bei UNDO/REDO
oder der Reaktion von WaitInput bei Vorgängen (Eingaben) im Edit.
Darum wäre es schön, wenn man Einfluß auf die verwendete Version hätte und
eventuell ne Möglichkeit zu erfragen, welche Version man denn nun hat; z.B
eine Systemvariable, über die man an die geladene Richedit-dll drankommt.

Workaround: Das Anlegen eines profanen Dummy-RTF-Edits erspart einem das manuelle
Laden der Riched20.dll, falls man die Control -Funktion verwenden will

SeeYou und Frohe Ostern!
Pascal
 
05.04.2010  
 




Uwe
''Pascal''
Niemeier
* zur Erinnerung *

Ist dieses Feature zur Kompatiblität wirklich noch nötig?

SeeYou
Pascal
 
25.09.2010  
 




RGH
Hallo Pascal,
in der nächsten (vermutlich heutigen) Subscriptionsversion kann statt des initialen Textes (den eh' kaum jemand brauchtr und verwendet) ein Modus angegeben werden:
Modus 0 = Alte Version ("RICHEDIT" )
Modus 1 = Neue Version ("RICHEDIT20A" )
Wird wie bisher ein initialer Text angegeben, wird automatisch Modus 0 gewählt.

Bitte mal testen!

(Früher hatte ich es mal so eingerichtet, dass RICHEDIT20A verwendet wurde wenn die zugehörige RICHED20.DLL gefunden wurde, ansonstenm das RIOCHEDIT aus der RICHED32.DLL. Aus einem leider vergessenen Grund hatte ich den Codeteil für das neuere RichEdit seit einigen Versionen auskommentiert.

Gruß
Roland
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
29.09.2010  
 




Uwe
''Pascal''
Niemeier
Hi Roland!

Der Vollständigkeit halber solltest du auch den Typ RichEdit50W (RichEdit 4.1) zulassen:
KompilierenMarkierenSeparieren
window 500,300
var Edit1&=create("RichEdit",%hwnd,1,10,10,200,200)'--RichEdit20A
settext Edit1&,classof(Edit1&)
var dll&=usedll("Msftedit.dll")
var Edit2&=control("RichEdit50W","",getstyle(Edit1&,0),220,10,200,200,%hwnd,1234,0,getstyle(Edit1&,1))
settext Edit2&,classof(Edit2&)

while 1

    waitinput

endwhile


Wozu man das brauchen kann bzw. wo die Vorteile liegen weiß ich auch noch nicht, aber man kann ja nie wissen...

BTW: Falls die jeweilige Version nicht verfügbar ist sollte vielleicht eine entsprechende Warnung erfolgen.

SeeYou
Pascal
 
30.10.2010  
 




RGH
Ok, mit Modus 2 bekommt man ab dem nächsten Release-Kandidaten, wenn vorhanden, das RichEdit50W, ansonsten geht der Fallback über RichEdit20A zum alten RichEdit.
Eine Warnung möchte ich eigentlich nicht ausgeben, da ich z.B. auch im endgültigen Programmcode die Warnungen eingeschaltet lasse und dann der User älterer Windowsversionen "grundlose" Warnungen erhält. Es steht ja dem Programmierer frei, per ClassOf() zu überprüfen, welche Version nun vorhanden ist.

Gruß
Roland
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
30.10.2010  
 



Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

3.352 Betrachtungen

Unbenanntvor 0 min.
Sven Bader18.11.2023
Andreas Koch05.06.2019
Andre Rohland05.09.2018
Uwe Lang16.01.2018
Mehr...

Themeninformationen

Dieses Thema hat 2 Teilnehmer:

Uwe ''Pascal'' Niemeier (3x)
RGH (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