Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » exe datei läuft nicht in win (trotz 0errors u.warning)

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: [ 1 ] > 2 <
010
06.04.2004, 15:29 Uhr
~SirThoms
Gast


ps...kann mir jemand erklären wie ich eigenes fenster programmiere???
in meinem buch steht nicht alles!!!!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
011
06.04.2004, 15:36 Uhr
typecast
aka loddab
(Operator)


Also erstens:

Mach die <> hin. Sonst wirst du Probleme bekommen, wenn du mal einen anderen Compiler verwendest. Dann schreib nicht

C++:
#include <iostream.h>


sondern

C++:
#include <iostream>


Das mit dem iostream.h ist veraltet und sollte nicht mehr verwendet werden. Dafür musst du dann aber auch immer std::cout oder std::cin schreiben.
Um das zu vermeiden kannst du in deinen cpp-Datein ein

C++:
using namespace std;


schreiben.
Allerdings bin ich kein Freund davon. Wenn du wissen willst warum, benutz die Suchfunktion hier im Forum.
--
All parts should go together without forcing. ... By all means, do not use a hammer. (IBM maintenance manual, 1925)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
012
06.04.2004, 19:09 Uhr
RedEagle



Ich glaube, ein Fenster ist für nen Anfänger nen bischen zu schwer.
Egal, wenn du eins willst, kriegste eins (nicht mit VC++ getestet, aber mit DEV-CPP)


C++:
#include <windows.h>
#include <stdio.h>

LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM); //Deklaration der Windows-Nachrichten-Prozedur

int WINAPI WinMain( HINSTANCE hThisInstance, HINSTANCE, PSTR, int nFunsterStil)
{

char szName[] = "Fensterklasse";
HBRUSH MyBrush = CreateSolidBrush(RGB(0,150,255)); //Eigene BG-Color

WNDCLASS wc;

wc.style         = CS_HREDRAW | CS_VREDRAW; //CS = Class Style
wc.lpfnWndProc   = WndProc;
wc.cbClsExtra    = 0;
wc.cbWndExtra    = 0;
wc.hInstance     = hThisInstance;
wc.hIcon         = LoadIcon(NULL, IDI_WINLOGO);
wc.hCursor       = LoadCursor(NULL, IDC_ARROW);
wc.hbrBackground = MyBrush;//(HBRUSH) COLOR_BACKGROUND;
wc.lpszMenuName  = NULL;
wc.lpszClassName = szName;

  RegisterClass (&wc);
  
HWND hwnd = CreateWindow (szName, "Fenster-test", WS_OVERLAPPEDWINDOW, 300, 300, 500, 200, NULL, NULL, hThisInstance, NULL);

ShowWindow   (hwnd, nFunsterStil);
UpdateWindow (hwnd);

//Nachrichtenschleife
MSG msg;
     while (GetMessage(&msg, NULL, 0, 0))
     {
      TranslateMessage(&msg);
      DispatchMessage (&msg);
     }
return msg.wParam;
}

//Windows-Nachrichten-Prozedur
LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
HDC hdc;
PAINTSTRUCT ps;
static HWND hwndButton1, hwndEdit2;
  
  switch(message)
  {
   case WM_PAINT : hdc = BeginPaint (hwnd, &ps);
                    SetTextColor(hdc, RGB(25 , 25 , 200));
                    SetBkColor  (hdc, RGB(0  , 150, 255));
                    TextOut(hdc, 20, 20, "Test der WinAPI", 15); //device context, x, y, string, string-Länge
                    TextOut(hdc, 20, 35, "- Button's", 10);
                    TextOut(hdc, 20, 50, "- Edit-Feld", 11);
                   EndPaint (hwnd, &ps);
                   return 0;
  
   case WM_CREATE : hwndButton1 = CreateWindow("button", "Knopf 1", WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON, 150, 20, 100, 40, hwnd, (HMENU)1, (HINSTANCE) GetWindowLong (hwnd, GWL_HINSTANCE), NULL);
                    hwndEdit2 = CreateWindow("edit", "Edit-Feld", WS_CHILD | WS_VISIBLE | ES_MULTILINE | ES_AUTOVSCROLL, 251, 20, 200, 40, hwnd, (HMENU)2, (HINSTANCE) GetWindowLong (hwnd, GWL_HINSTANCE), NULL);
                    return 0;
  
   case WM_COMMAND :
                    switch(LOWORD(wParam))
                    {
                     case 1 : SetWindowText(hwndEdit2, "");
                              SendMessage(hwndEdit2, EM_SETREADONLY, true, 0);
                              //break;
                              
                     case 2 : SendMessage(hwndEdit2, EM_SETREADONLY, false, 0);
                              //break;                    
                    }
                    break;
                  
   case WM_DESTROY : PostQuitMessage(0);
                     return 0;
  
   /*case WM_LBUTTONDOWN : hdc = GetDC(hwnd);
                         char str[50];
                         sprintf (str, "%i|%i|%i|%i", hwnd, message, wParam, lParam);
                         TextOut (hdc, 20, 20, str, strlen(str));
                         ReleaseDC(hwnd, hdc);
                         return 0;*/

  }

return DefWindowProc (hwnd, message, wParam, lParam);
}



Als Turtorial empfehle ich
www.untergrund-spiele.de/tut_window.php3?t_id=389
Da habe ich das auch gelernt (ist sogar für VC++ erklärt)
--
MFG RedEagle

Dieser Post wurde am 06.04.2004 um 19:10 Uhr von RedEagle editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] > 2 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: