begin process at 2012 05 25 11:26:56
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Assembleur

 > 

Archives

 > 

Newbii

 > 

Modif zone de saisie


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Modif zone de saisie

mercredi 14 juillet 2004 à 13:59:33 | Modif zone de saisie

noel70

Membre Club
Bonjonr a tous.
Je vous explique ce que je voudrais faire.
Je voudrais changer les caracteristiques du zones de saisies par l'intermédiaire d'un bouton. Pour modifier une zone de saisie, en READONLY, ou le remettre en ECRITURE.
Donc voila, ce que j'ai fait
-------------------------------------------------------------------------------
rsrc.rc

#include "\masm32\include\resource.h"

LectureEcriture DIALOGEX 0, 0, 190, 55
STYLE DS_3DLOOK | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Lecture - Ecriture"
FONT 8, "MS Sans Serif"
BEGIN
PUSHBUTTON "&Ecriture",500,10,30,50,14,0,WS_EX_STATICEDGE
PUSHBUTTON "&Lecture",502,70,30,50,14,0,WS_EX_STATICEDGE
PUSHBUTTON "&Quitter",501,130,30,50,14,0,WS_EX_STATICEDGE

END
----------------------------------------------------------------------------------

----------------------------------------------------------------------------------
Saisie.asm

.686
.mmx
.model flat, stdcall
option casemap:none

include \masm32\include\windows.inc
include \masm32\include\user32.inc
include \masm32\include\kernel32.inc

includelib \masm32\lib\user32.lib
includelib \masm32\lib\kernel32.lib

include createzone.asm

assume fs:flat

WndProc PROTO :DWORD,:DWORD,:DWORD,:DWORD

.data

LECTURE equ 500
QUITTER equ 501
ECRITURE equ 502
hWnd dd 0
dlgname db "LectureEcriture",0
Zero db 0
.code

start:
invoke GetModuleHandle, NULL
mov hInstance, eax
invoke DialogBoxParam,hInstance,ADDR dlgname,0,ADDR WndProc,0
invoke ExitProcess,eax

WndProc proc hWin :DWORD,
uMsg :DWORD,
wParam :DWORD,
lParam :DWORD

.if uMsg == WM_INITDIALOG

mov eax, hWin
mov hWnd, eax

invoke EditEcriture, addr Zero, 10,10,180,25, hWnd,700

.elseif uMsg == WM_COMMAND

.if wParam == ECRITURE
invoke EditLecture, addr Zero, 10,10,180,25, hWnd,700

.elseif wParam == LECTURE
invoke EditEcriture, addr Zero, 10,10,180,25, hWnd,700

.elseif wParam == QUITTER
invoke EndDialog,hWin,0

.endif

.elseif uMsg == WM_CLOSE
invoke EndDialog,hWin,0

.endif
Exit: xor eax, eax
ret

WndProc endp
end start
---------------------------------------------------------------------------------

---------------------------------------------------------------------------------
createzone.asm

EditLecture PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD
EditEcriture PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD

.data

EditClass db "EDIT",0

.data?

hInstance dd ?

.code

EditEcriture proc szMsg:DWORD,a:DWORD,b:DWORD,
wd:DWORD,ht:DWORD,hParent:DWORD,ID:DWORD


invoke CreateWindowEx,WS_EX_CLIENTEDGE,ADDR EditClass,szMsg,
WS_VISIBLE or WS_CHILDWINDOW or \
ES_AUTOHSCROLL or ES_NOHIDESEL,
a,b,wd,ht,hParent,ID,hInstance,NULL

ret

EditEcriture endp

EditLecture proc szMsg:DWORD,a:DWORD,b:DWORD,
wd:DWORD,ht:DWORD,hParent:DWORD,ID:DWORD


invoke CreateWindowEx,WS_EX_CLIENTEDGE,ADDR EditClass,szMsg,
WS_CHILDWINDOW or WS_VISIBLE or \
ES_AUTOHSCROLL or ES_NOHIDESEL or \
ES_READONLY,
a,b,wd,ht,hParent,ID,hInstance,NULL

ret

EditLecture endp

--------------------------------------------------------------------------------

J'aurais penser que ça marcherait, car viuellement, on voit bien passer la zone de saise en READONLY lorsqu'on clique sur ECRITURE, mais si on essaie d'ecrire dans cette zone, on le peut quand meme. Meme si celle-ci a l'air d'être en READONLY.
Si quelqu'un peut m'expliquer pourquoi, et me dire comment changer une propriété de zone de saisie.
Merci d'avance.
jeudi 15 juillet 2004 à 12:46:47 | Re : Modif zone de saisie

noel70

Membre Club
J'ai trouvé pourquoi ça ne marche pas, en faite, il faudrait pouvoir enlever l'ancienne zone d'édition, puis seulement en créer une nouvelle.
Pour détruire l'ancienne zone d'édition, j'ai penser à l'API
DestroyWindow, mais ça ne marche pas.
Si quelqu'un a une idée comment faire ?


Cette discussion est classée dans : include, ws, dword, addr, invoke


Répondre à ce message

Sujets en rapport avec ce message

out bmp [ par vincent2795 ] Bonjour, dans ma source, j' essaye de faire un screenshot, et de le nommer pas la date et l' heure ou il es pris. mon problème: si le nom du fichier e Recherche de fichier recursif [ par maximus4 ] Bonjour, j'ai la procédure suivante pour la recherche récursive, le résultat est stocké dans un fichier texte. [code=autre]invoke CreateFile,offset fi EasyMasm + ComboBox [ par Bul3 ] Bonjour à toutes et à tous, je m'essaye à EasyMasm ( je suppose que vous connaissez ce "[i]Visual Assembleur[/i]" ) je bute depuis 3 jours sur une b MASM - Petite question DlgProc proc [ par n_o_u_n_o_u ] Bonjour,je continue ma découverte de MASM et j'ai encore une question...Voici un extrait du code que j'ai placé dan DlgProc proc :...   .if dx==BN_CLI afficher plusieur mot [ par hackeur13 ] bonjour a tous et a toute,je suis entrin d'essayer de programmer en asm avec MASM etj'aimerais savoir comment faire affichier a chaque fois que je cli [Nasm - Alink - WIn32] Probleme avec SetWindowsHookEx [ par jean84 ] Salut à tous ;)Je me permet de poser une chtite question car après avoir passé du temps à chercher la réponse à mon problème, bah j'ai toujours pas tr ça marche pas, aide ... [ par iscalibar ] Bonjour, j'ai un petit probleme, j'ai ecris un program pour le compilateur masm32 qui ne fai que afficher une fenetre, mai malheureusement ça marche p include et fasm [ par CheckList ] Bonjour, j'ai un probleme avec FASM. Voila, j'essaye de compilé un programme deja tout fait ecrit en FASM trouvez dans le repertoire exemple.Mon prob Ecrire registre valeur dword32 [ par goldofff ] Bonjour,j'ai créé un petit prog en assembleur avec winasm qui me permet de créer une clef dans ma base de registre jusque là tout va bien.maintenant j en quel langage est ecrit ce programme [ par jedilu ] bonjouren quel language est ecrit ce programme car j'ai un probleme pour le lancermerci00629DE5   AE               SCAS BYTE PTR ES:[EDI]00629DE6   9E


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,811 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales