begin process at 2012 05 30 07:26:38
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

API

 > 

Question sur CreateWindowEx


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

Question sur CreateWindowEx

mercredi 10 août 2005 à 15:26:25 | Question sur CreateWindowEx

Pathfinder

Bonjour,

J'ai un petit probleme, j'ai dans mon application une zone TEXT, je voudrai le changer par une zone Rich Edit je déclare donc ceci:

#include <commctrl.h>
#include <Richedit.h>

InitCommonControls();

hEdit = CreateWindowEx(0, "RICHEDIT", "",   WS_CHILD | WS_VISIBLE | ES_MULTILINE | ES_WANTRETURN | WS_VSCROLL,0, 0, 0, 0, hwnd, NULL, hinst, NULL);

Mais sa ne fonctionne pas avec le control RICHEDIT, par contre pas de problemme avec EDIT !!!

J'ai trouvé ceci dans msdn anglais:

Creating a Rich Edit Control

To create a rich edit control, call the CreateWindowEx function, specifying the rich edit window class. If you are using Rich Edit 1.0 (Riched32.dll), specify RichEdit for the window class parameter. If you are using Rich Edit 2.0 or later (Riched20.dll), specify RICHEDIT_CLASS for the window class parameter

Merci. pour votre aide.

LSI

mercredi 10 août 2005 à 15:46:37 | Re : Question sur CreateWindowEx

vecchio56

Administrateur CodeS-SourceS
LoadLibrary("Riched20.dll") au debut de ton prog
mercredi 10 août 2005 à 15:52:56 | Re : Question sur CreateWindowEx

racpp

Administrateur CodeS-SourceS
Réponse acceptée !
Salut,
Voici un exemple complet:

#include <windows.h>

LRESULT CALLBACK WndProc(HWND hWnd, UINT Message, WPARAM wParam, LPARAM lParam)
{
    switch (Message)
    {
        case WM_DESTROY:
            PostQuitMessage(0);
            return 0;
        default:
            return DefWindowProc(hWnd, Message, wParam, lParam);
    }
}

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
   
    WNDCLASSEX wc;
    char NomClasse[]    = "MaFenetre";
    wc.cbSize = sizeof(WNDCLASSEX);
    wc.style =0;
    wc.lpfnWndProc = WndProc;
    wc.cbClsExtra = 0;
    wc.cbWndExtra = 0;
    wc.hInstance = hInstance;
    wc.hIcon = 0;
    wc.hCursor = LoadCursor(0, IDC_ARROW);
    wc.hbrBackground = (HBRUSH) COLOR_WINDOW;
    wc.lpszMenuName = 0;
    wc.lpszClassName = NomClasse;
    wc.hIconSm = 0;
    RegisterClassEx(&wc);
    HWND hFenet = CreateWindow( NomClasse, "Création d'un RichEdit", WS_OVERLAPPEDWINDOW,   0, 0, 640, 480, 0, 0, hInstance, 0);
    HINSTANCE richDll = LoadLibrary("RICHED20.DLL");
    HWND hRich= CreateWindow( "RichEdit20A", "Je suis un RichEdit !", WS_CHILD  |  WS_VISIBLE  | ES_MULTILINE , 10, 10, 300, 300, hFenet, 0, hInstance, 0);
    ShowWindow(hFenet, nCmdShow);
    UpdateWindow(hFenet);

    MSG msg;
    while (GetMessage(&msg, 0, 0, 0))
    {
    TranslateMessage(&msg);
    DispatchMessage(&msg);
    }
   
    FreeLibrary(richDll);
    return msg.wParam;
}




mercredi 10 août 2005 à 16:39:31 | Re : Question sur CreateWindowEx

Pathfinder

Voici mon code modifier :

#include <windows.h>
#include <commctrl.h>

HINSTANCE hinst;

LRESULT CALLBACK MainWndProc(HWND, UINT, WPARAM, LPARAM);

int WINAPI WinMain(HINSTANCE hinstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
    ...
    InitCommonControls();
    hinst = hinstance;
    HINSTANCE richDll = LoadLibrary("RICHED20.DLL");
    ...
}

LRESULT CALLBACK MainWndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
    
 static HWND hEdit;
 static HWND hsb;
 static BOOL EditNotChg = TRUE;
    switch (uMsg)
    {
 case WM_CREATE:

   //Edit RICHTEXT
   {
   HFONT hFont;
   hEdit = CreateWindow( "RichEdit20A", "Je suis un RichEdit !", WS_CHILD  |  WS_VISIBLE  | ES_MULTILINE,10, 10, 300, 300, hwnd, 0, hinst, 0);

            hFont = (HFONT)GetStockObject(ANSI_FIXED_FONT);
            SendMessage(hEdit,WM_SETFONT,(UINT)hFont,TRUE);
            SendMessage(hEdit, EM_SETMARGINS, EC_LEFTMARGIN | EC_RIGHTMARGIN, MAKELONG(5, 5));
           
   //DEBUT Init ToolBar                                                   
    hsb = CreateStatusWindow(WS_CHILD | WS_VISIBLE, "MsgEditeur 2005", hwnd, FALSE);
   // FIN Init ToolBar
    return 0;
    } 
Merci racpp sa fonctionne.



Cette discussion est classée dans : class, edit, richedit, rich, createwindowex


Répondre à ce message

Sujets en rapport avec ce message

Rich Edit Control [ par gbourgeois0019 ] Bonjour. J'ai un problème que je tente de régler depuis quelque temps et je trouve pas. Je doit copier le contenu complet d'un richedit ( appellons l Comment créer un Rich Edit [ par LaPatoshe ] salut, je cherche comment créer un contrôle Rich Edit sans utiliser les MFC (uniquement en API). J'ai testé un tuto deposé sur ce site sur le sujet, m pb avec rich edit et progresse bar [ par melkiorlenecrarque ] Salut à tous!!voila mon probleme:Lorsque je remplace un editbox par un richedit, ou lorsque il y a une progress bar dans mon programme, ce programme n rich edit [ par djadh ] bon jour je cherche comment comparé deux fichier text (deux rich edit)et affiché la differance dans unetrisiemme  riche edit avec c++ builder et merci Exécuter fonction en appuyant sur enter sur un rich edit [ par Neomaster951 ] Bonjour, j'aimerais que lorsqu'un utilisateur écrive dans une rich edit box, que dès qu'il appuye enter, ça exécute une fonction. J'ai essayé de mettr Centrer le texte d'un contrôle Edit dans C++ Builder [ par HeavenForsaker ] Bonjour, Je voulais savoir si c'était possible de centrer le texte d'un contrôle Edit (Aligné a gauche par défaut). Je sais qu'on peux le faire sur u Borland : GetSelTextBuf et Edit Problème [ par Booster ] Bonjours a tous, Voila j'ai un petit sousi, Je voudrais mettre le contenue d'une Edit dans un buffer, j'ai trouver la fonction GetSelTextBuf mais cell couleur du highlight [ par SnOOpss ] Bonjour j'aimerais savoir si il existe un moyen de changer la couleur de surlignage dans un edit par example, j'ai testé avec SetSysColors() mais cett RichEdit problème couleur de fond des lettres [ par TeniX ] Salut, J'ai un probléme pour mètre en couleur le fond du texte Je crée un richedit sous cette forme: Rich = CreateWindowEx(WS_EX_CLIENTEDGE, RICHED CreateWindowEx, C2664 [ par sran_isback ] Je vais (encore! ) passer pour un bouffon, mais pourquoi le compilateur me renvoie l'erreur c2664 (Error    2    error C2664: 'CreateWindowExW' : cann


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

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 : 1,560 sec (4)

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