MiniPad [SOURCE][API C] by Linkgl
Publicado: 27 Ene 2010, 03:20
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:

Source
main.cpp
el header
ids.h
el archivo de recursos
main.rc
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

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;
}
ids.h
Código: Seleccionar todo
#define CM_DIALOGO 100
#define TEXTO 101
#define ID_TEXTO 102
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