Este es un "block de notas" basura, digo basura porque no sirve para nada xD hecho 100% en apis C/C++, estaba haciendolo despues de hacer unos ejercicios y pues no se tal vez a alguno que este estudiando apis para C como yo le sirva, una imagen:

Imagen


Source
main.cpp

Código: Seleccionar todo

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

/**********************************
* MiniPad Codeado por Linkgl      *
* Agradecimientos a conlcase.net  *
* Indetectables.net               *
* [email protected]      *
* 26/01/10                        *
***********************************/



LRESULT CALLBACK WindowProcedure(HWND,UINT,WPARAM,LPARAM);
BOOL CALLBACK DlgProc(HWND,UINT,WPARAM,LPARAM);

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
   LPSTR lpszCmdParam, int nCmdShow)
{
  HWND hwnd;
  MSG mensaje;
  WNDCLASSEX wincl;
  wincl.hInstance=hInstance;
  wincl.lpszClassName="Linkgl";
  wincl.lpfnWndProc=WindowProcedure;
  wincl.style=CS_DBLCLKS;
  wincl.cbSize=sizeof(WNDCLASSEX);
  wincl.hIcon=LoadIcon(NULL, IDI_APPLICATION);
  wincl.hIconSm=LoadIcon(NULL, IDI_APPLICATION);
  wincl.hCursor=LoadCursor(NULL, IDC_ARROW);
  wincl.lpszMenuName="Menu";
  wincl.cbClsExtra=0;
  wincl.cbWndExtra=0;
  wincl.hbrBackground=(HBRUSH)COLOR_BACKGROUND;
  
  if(!RegisterClassEx(&wincl)) return 0;
  
  hwnd=CreateWindowEx(
  0,
  "LINKGL",
  "Link GL",
  WS_OVERLAPPEDWINDOW,
  CW_USEDEFAULT,
  CW_USEDEFAULT,
  544,
  375,
  HWND_DESKTOP,
  NULL,
  hInstance,
  NULL
  );
  ShowWindow(hwnd, SW_SHOWDEFAULT);
  
  while(true==GetMessage(&mensaje,0,0,0))
  {
    TranslateMessage(&mensaje);
    DispatchMessage(&mensaje);
    
  }
  
  return mensaje.wParam;
}

LRESULT CALLBACK WindowProcedure(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
    static HINSTANCE hInstance;
    switch (msg)                  /* manipulador del mensaje */
    {
        case WM_CREATE:
           hInstance=((LPCREATESTRUCT)lParam)->hInstance; /* Crea el control */
           return 0;
           break;
        case WM_COMMAND:
           switch(LOWORD(wParam)) {
             case CM_DIALOGO:
                DialogBox(hInstance, "TextoDentro", hwnd, DlgProc);
                break;
           }
           break;
        case WM_DESTROY:
           PostQuitMessage(0);    /* envía un mensaje WM_QUIT a la cola de mensajes */
           break;
        default:                  /* para los mensajes de los que no nos ocupamos */
           return DefWindowProc(hwnd, msg, wParam, lParam);
    }
    return 0;
}

BOOL CALLBACK DlgProc(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam)
{
  switch(msg)
  {
    case WM_INITDIALOG:
      SetFocus(GetDlgItem(hDlg, ID_TEXTO));
      return TRUE;
    case WM_COMMAND:
      if(LOWORD(wParam)==IDOK) EndDialog(hDlg, FALSE);
      return TRUE;
  }
  return FALSE;
}

el header

ids.h

Código: Seleccionar todo

#define CM_DIALOGO 100
#define TEXTO 101
#define ID_TEXTO 102
el archivo de recursos

main.rc

Código: Seleccionar todo

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

Menu MENU
BEGIN
  POPUP "&Archivo"
    BEGIN
      MENUITEM "&Nuevo", CM_DIALOGO
    END
END

TextoDentro DIALOG 0,0,355,180
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION
CAPTION "Nuevo"
FONT 8, "Helv"
BEGIN
  CONTROL "", -1, "static",
    SS_LEFT | WS_CHILD | WS_VISIBLE,
    0,0,0,0
  CONTROL "", ID_TEXTO, "EDIT",
    ES_LEFT | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP,
    0, 0, 354, 176
  CONTROL "Cerrar", IDOK, "button",
    BS_PUSHBUTTON | BS_CENTER | WS_CHILD | WS_VISIBLE | WS_TABSTOP,
    305,156,50,14
END
  


xD esta largito, pero me siento contento de que "funcione" xD, compilado en dev, si no corre bien en otro compilador habra que tocar el codigo xD salu2
//mHmm..
Responder

Volver a “Otros lenguajes”