Texte sur image (win32, non mfc)

Soyez le premier à donner votre avis sur cette source.

Vue 6 161 fois - Téléchargée 586 fois

Description

On met le texte dans un EDIT.
Un bouton pour l'inserer sur l'image.
Ceci simple grace a un STATIC invisible.
Il faut juste coordonner refresh de l'image.
Couleur du texte modifiable.

Source / Exemple :


#include <windows.h>
#include "resource.h"

HINSTANCE hinst;
char sztxt[400];
HWND hstbmp, hsttxt;

BOOL CALLBACK AppDlgProc(HWND hdlg, UINT mssg, WPARAM wParam, LPARAM lParam)
{
  switch(mssg) {
    case WM_INITDIALOG:
      RECT rc;
      int cx, cy;
      SetClassLong(hdlg, GCL_HICON, (long)LoadIcon(0, IDI_APPLICATION));
      hstbmp = GetDlgItem(hdlg, IDST_BMP);
      GetWindowRect(hstbmp, &rc);
      cx = rc.right - rc.left;
      cy = rc.bottom - rc.top;
      ScreenToClient(hdlg, (POINT*) &rc);
      hsttxt = GetDlgItem(hdlg, IDST_TXT);
      SetWindowPos(hsttxt, HWND_TOP, rc.left, rc.top, cx, cy, SWP_SHOWWINDOW);
      SendDlgItemMessage(hdlg, IDED_TXT, EM_SETLIMITTEXT, 399, 0);
      return TRUE;
    case WM_CTLCOLORSTATIC:
      if(GetWindowLong((HWND)lParam, GWL_ID) == IDST_TXT) {
        SetBkMode((HDC) wParam, TRANSPARENT);
        SetTextColor((HDC) wParam, 0xFF); // tu peux enlever ou changer couleur
        return (BOOL) GetStockObject(NULL_BRUSH);
      }
      return 0;
    case WM_COMMAND:
      switch(wParam) {
        case IDBT_TXT:
          InvalidateRect(hstbmp, 0, 1);
          SetWindowText(hsttxt, 0);
          InvalidateRect(hsttxt, 0, 1);
          GetDlgItemText(hdlg, IDED_TXT, sztxt, 400);
          SetWindowText(hsttxt, sztxt);
          return 0;
        case IDCANCEL:
          EndDialog(hdlg, 0);
      }
  }
  return 0;
}

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE, PSTR, int)
{
  hinst = hInstance;
  DialogBox(hinst, MAKEINTRESOURCE(IDD_APP), NULL, AppDlgProc);
  return 0;
}

Conclusion :


Tout dans le zip pour recompiler + exe.

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
104
Date d'inscription
vendredi 5 novembre 2004
Statut
Membre
Dernière intervention
11 septembre 2008

Nikel, ce que je cherchaiiiiiiis,
bien la foto =)

NeoUmbrella Corp.
Messages postés
18
Date d'inscription
mercredi 16 juillet 2003
Statut
Membre
Dernière intervention
15 janvier 2005

j'utilise dev-cpp 4.9.9.0 et je n'arrive pas a compiler
mais le résultat est sympa :)

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.