lorsque je fais un Coller vers ma zone
de saisie ( RICHEDIT ) ===>
°si le Copier [Couper] a été fait depuis
un autre programme, tout va bien.
°si le Copier [Couper] a été fait depuis
la même zone de saisie [ ou depuis
une autre instance de mon programme ]
la font utilisée n'est pas respectée.
lorsque je fais un Copier[Couper] depuis ma
zone de saisie vers un autre programme, tout
va bien.
pouvez-vous m'aider à trouver
mes erreurs ?
création zone saisie avec
définition d'une font
..zedit db 'RICHEDIT',0
eddll db 'RICHED32.dll',0
edithwnd dd ?
editfont dd ?
fnt LOGFONT
...
invoke LoadLibrary,eddll
...
invoke CreateWindowEx,\
WS_EX_CLIENTEDGE,\
zedit,0,...
mov [edithwnd],eax
...
invoke CreateFontIndirect,fnt
mov [editfont],eax
...
invoke SendMessage,\
[edithwnd],\
WM_SETFONT,[editfont],FALSE
copier
invoke SendMessage,\
[edithwnd],WM_COPY,0,0
coller
invoke SendMessage,\
[edithwnd],WM_PASTE,0,0
1° est-ce que cela explique
que vers ou depuis un autre
programme ça marche ?
c'est pour cela que je n'ai
pas essayer cette piste.
2° essai malgré tout,
coller:
[quote]
invoke SendMessage,\
[edithwnd],EM_PASTESPECIAL,0,0
[/quote]
copier:
il faut donc récupérer les caractères
sélectionnés ? ( ou je dis n'importe quoi ?)
[quote]
ZSelect CHARRANGE
...
invoke OpenClipboard,NULL
invoke SendMessage,\
[edithwnd],EM_EXGETSEL,\
0,ZSelect
[/quote]
et ça plante
devrait renvoyer les adresses des
1er et dernier caractère sélectionnés
qu'il faudra borner par 0
puis
[quote]
invoke SetClipboardData,CF_TEXT,\
caractères_selectionnés+h0
invoke CloseClipboard
[/quote]
il faut être patient avec les débutants
qui ne pigent rien à l'anglais.
merci aussi pour ça.
@+
__________________________
~ [url=http://www.bul.fr.nf]mon site[/url] ~ [url=http://bul.olympe-network.com/?bul]m'écrire[/url] ~
[url=http://bul.olympe-network.com/MAS.php]Laissez une adresse Mail où vous écrire, en évitant les spams[/url]
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
ERREUR BBCODE SUR CE MESSAGE : - La valeur de la balise "quote" n'est pas correcte !
invoke SysAllocStringByteLen,0,1000h
mov [buffer],eax ; de cette taille
invoke SendMessage,[edithwnd],EM_GETSELTEXT,0,[buffer]
invoke OpenClipboard,NULL
invoke EmptyClipboard
invoke SetClipboardData,CF_TEXT,[buffer]
invoke SysFreeString,[buffer] ; libérer la mémoire
invoke CloseClipboard
il me reste à définir la taille du
buffer nécessaire ( sûrement avec
un invoke SendMessage,[edithwnd],EM_GETSEL,[debut],[fin]
que je n'arrive pas encore à exploiter )
Tu économiserais sans doute pas mal de temps de recherche en partant d'un exemple fonctionel. Les trois tuts de Iczelion sont intérressants (hélas en syntax MASM). Sinon, ils sont aussi (avec les autres) disponible sur ma Page en syntaxe RosAsm, qui est voisine de celle de FASM, au niveau "Address-Content".
[Quant on veut un peu plus que les Fonctions parfaitement basique avec RichEdit... c'est pas simple... Même le troisième Tut de Iczelion n'assume pas les tailles de Fontes, au collage. Juste les couleurs, et pour le reste, c'est 'global'...]
il est vrai qu'une bonne doc
[ tutoriels ou tutoriaux comme
tout le monde dit ] aide, et je
l'ai téléchargée ( merci pour
l'adresse ) , mais, à mon avis,
ne remplacera jamais les conseils,
coups de pouce... de personnes
compétentes, c'est beaucoup plus
efficace.
[-i]et comme c'est le cas ici ...[/i]
je note résolu, mais je reviendrais.
merci beaucoup.
__________________________
~ [url=http://www.bul.fr.nf]mon site[/url] ~ [url=http://bul.olympe-network.com/?bul]m'écrire[/url] ~
[url=http://bul.olympe-network.com/MAS.php]Laissez une adresse Mail où vous écrire, en évitant les spams[/url]
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
ERREUR BBCODE SUR CE MESSAGE : - Une balise -i n'est pas fermée !