Wie zou mij een beetje kunnen helpen met de basis van c++ (windows application) ?
plz geen tuts naar me toeschuiven, hebk namelijk best hekel aan... ;)
wat mijn doel is, is een msn client te schrijven in c++..
maar aangezien ik net ben begonnen in C++, zal dat nog wel even moeten wachten..
wat ik als eerste wil weten,
hoe zet ik een test (label) in een windows application ?
k werk met Dev-C++, werkt nog prima..
k heb nu dit (begin van windows application):
#include <windows.h>
/* Declare Windows procedure */
LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM);
/* Make the class name into a global variable */
char szClassName[ ] = "WindowsApp";
int WINAPI WinMain (HINSTANCE hThisInstance,
HINSTANCE hPrevInstance,
LPSTR lpszArgument,
int nFunsterStil)
{
HWND hwnd; /* This is the handle for our window */
MSG messages; /* Here messages to the application are saved */
WNDCLASSEX wincl; /* Data structure for the windowclass */
/* The Window structure */
wincl.hInstance = hThisInstance;
wincl.lpszClassName = szClassName;
wincl.lpfnWndProc = WindowProcedure; /* This function is called by windows */
wincl.style = CS_DBLCLKS; /* Catch double-clicks */
wincl.cbSize = sizeof (WNDCLASSEX);
/* Use default icon and mouse-pointer */
wincl.hIcon = LoadIcon (NULL, IDI_APPLICATION);
wincl.hIconSm = LoadIcon (NULL, IDI_APPLICATION);
wincl.hCursor = LoadCursor (NULL, IDC_ARROW);
wincl.lpszMenuName = NULL; /* No menu */
wincl.cbClsExtra = 0; /* No extra bytes after the window class */
wincl.cbWndExtra = 0; /* structure or the window instance */
/* Use Windows's default color as the background of the window */
wincl.hbrBackground = (HBRUSH) COLOR_BACKGROUND;
/* Register the window class, and if it fails quit the program */
if (!RegisterClassEx (&wincl))
return 0;
/* The class is registered, let's create the program*/
hwnd = CreateWindowEx (
0, /* Extended possibilites for variation */
szClassName, /* Classname */
"iMSN Messenger", /* Title Text */
WS_OVERLAPPEDWINDOW, /* default window */
CW_USEDEFAULT, /* Windows decides the position */
CW_USEDEFAULT, /* where the window ends up on the screen */
250, /* The programs width */
500, /* and height in pixels */
HWND_DESKTOP, /* The window is a child-window to desktop */
NULL, /* No menu */
hThisInstance, /* Program Instance handler */
NULL /* No Window Creation data */
);
/* Make the window visible on the screen */
ShowWindow (hwnd, nFunsterStil);
/* Run the message loop. It will run until GetMessage() returns 0 */
while (GetMessage (&messages, NULL, 0, 0))
{
/* Translate virtual-key messages into character messages */
TranslateMessage(&messages);
/* Send message to WindowProcedure */
DispatchMessage(&messages);
}
/* The program return-value is 0 - The value that PostQuitMessage() gave */
return messages.wParam;
}
/* This function is called by the Windows function DispatchMessage() */
LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message) /* handle the messages */
{
case WM_DESTROY:
PostQuitMessage (0); /* send a WM_QUIT to the message queue */
break;
default: /* for messages that we don't deal with */
return DefWindowProc (hwnd, message, wParam, lParam);
}
return 0;
}
is niet zo makelijk als je denkt hoor...
zoals Dennis zegt, leer de basis:)
maar je vraagt er echt om.
Dit is de moeilijke manier, en voor mij tot nu toe de manier die ik weet dat het werkt...
Ik ga je niet alle uitleg geven wat je hiervoor moet snappen, want dan ben ik tig tutorials verder
Maar je moet het doen via de methode BeginPaint (je gaat alles tekenen, net zoals JAVA applets):
LRESULT CALLBACK WindowProc( HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam) {
PAINTSTRUCT PaintS;
HDC hdc;
// Hier moet je dan nakijken wat voor message je ontvangt vanuit je windows... als het gaat om WM_PAINT: (switch!!!!!!!! ==> tip) dan moet je dus gaan painten:
hdc = BeginPaint(hwnd,&paintS);
//einde van jou mogelijke switch
}
// Hier moet je dan nakijken wat voor message je ontvangt vanuit je windows... als het gaat om WM_PAINT: (switch!!!!!!!! ==> tip) dan moet je dus gaan painten:
hdc = BeginPaint(hwnd,&paintS);
//einde van jou mogelijke switch
}
Maar je moet echt is opzoeken in tutorials. Dat is echt ingewikkeld wat je wilt. Zéker met C++.
import javax.swing.*;
public class SwingVensterMetTitel extends JFrame {
public static void main (String argumenten[]) {
SwingVensterMetTitel v = new SwingVensterMetTitel();
v.setSize(300, 200);
v.show();
}
public SwingVensterMetTitel() {
super( "titel" );
}
}
jij weigert ook maar te zoeken he?
Je postte deze vraag gisterenavond en hebt hem zitten editten sinds dien zodat hij telkens bij de 10 (bij sommige 20) laatste forumtopics staat.
Zoek eens!
Je kan het bv doen via directX (direct3D/draw).
Maar ik ga hier geen directX codes liggen posten !
Rode/groene/blauwe kleuren vervangen door een waarde van 0 tot 255.
Maar begin nu toch eens bij de basis en bij het zoeken hiernaar!
Je verwacht toch niet dat je een soort van MSN kan gaan maken na een weekje ofzo !
Als dat zo was dan zou er niet veel te rapen vallen als software ontwikkelaar. Het is moeilijk en als je het kan, dan kan je er iets mee verdienen. En op de manier dat jij bezig bent ga je later nooit (zelfstandig) een oplossing voor een probleem vinden!
Leer de taal!
(en stop met dit topic te vernieuwen!)