Visualizzazione risultati 1 fino 12 di 12

Discussione: [c++] far aprire una finestra in formato ingrandito

  1. #1
    L'avatar di foreach
    foreach non è connesso Altervistiano Junior
    Data registrazione
    11-06-2008
    Residenza
    3 metri sotto terra
    Messaggi
    501

    Predefinito [c++] far aprire una finestra in formato ingrandito

    Salve a tutti,

    ovviamente per non riesumare la vecchia discussione http://forum.it.altervista.org/plug-...do-da-php.html ne creo un'altra, non so se si può fare...

    Comunque vorrei chiedervi come faccio a far aprire una finestra winmain() in formato ingrandita, a me mo la apre in formato 300x200, questo è il codice:

    Codice PHP:
    #include <stdio.h>
    #include <windows.h>
    #include <iostream>
    #include <fstream>
    #include "main.h"
    #include "lingue.h"
    #include "funzioni.h"
    using namespace std;


    /* Declare WindowsProcedure */
    LRESULT CALLBACK WindowProcedure(HWND, UINT, WPARAM, LPARAM);

    /* Make the classname into a global variable */
    char szClassName[] = "Conti correnti";

    HINSTANCE hThisInstance;

    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 is saved */
    WNDCLASSEX wincl; /* Datastructure for the windowclass */
    HMENU menu; /* Handle of the menu */

    /* The Window structure */
    wincl.hInstance = hThisInstance;
    wincl.lpszClassName = szClassName;
    wincl.lpfnWndProc = WindowProcedure; /* This function is called by windows */
    wincl.style = CS_DBLCLKS; /* Ctach double-clicks */
    wincl.cbSize = sizeof(WNDCLASSEX);

    /* Use default icon and mousepointer */
    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 lightgray as the background of the window */
    wincl.hbrBackground = (HBRUSH) GetStockObject(LTGRAY_BRUSH);

    /* Register the window class, if fail quit the program */
    if(!RegisterClassEx(&wincl)) return 0;

    /* The class is registered, lets create the program*/
    hwnd = CreateWindowEx(
    0, /* Extended possibilites for variation */
    szClassName, /* Classname */
    titolo, /* Title Text */
    WS_OVERLAPPEDWINDOW, /* defaultwindow */
    CW_USEDEFAULT, /* Windows decides the position */
    CW_USEDEFAULT, /* where the window end up on the screen */
    300, /* The programs width */
    200, /* and height in pixels */
    HWND_DESKTOP, /* The window is a childwindow to desktop */
    NULL, /* No menu */
    hThisInstance, /* Program Instance handler */
    NULL /* No Window Creation data */
    );

    /* Make the window visible on the screen */
    ShowWindow(hwnd, nFunsterStil);

    menu = LoadMenu(hThisInstance, MAKEINTRESOURCE(ID_MENU));
    SetMenu(hwnd, menu);

    /* Run the nessageloop. It will run until GetMessage( ) returns 0 */
    while(GetMessage(&messages, NULL, 0, 0))
    {
    /* Send message to WindowProcedure */
    DispatchMessage(&messages);
    }

    /* The program returvalue is 0 - The value that PostQuitMessage( ) gave */
    return messages.wParam;
    }
    Mi aiutate?

    foreach
    Codice PHP:
    foreach($vettore as $chiave => $valore) {
    echo 
    "Ciao";


  2. #2
    Guest

    Predefinito

    Sostituisci
    Codice:
     ShowWindow(hwnd, nFunsterStil);
    con
    Codice:
     ShowWindow(hwnd, SW_MAXIMIZE);

  3. #3
    L'avatar di foreach
    foreach non è connesso Altervistiano Junior
    Data registrazione
    11-06-2008
    Residenza
    3 metri sotto terra
    Messaggi
    501

    Predefinito

    Grazie assai stoner

    Senti, e per far sì che nell'angolo in alto a sinistra appanga un'icona (che dico io) al posto di quel quadratino bianco?


    Poi magari, mi rivolgo allo staff, posso chiedere qui le altre domande di C++ che mi serviranno o devo aprire varie discussioni?



    Grazie,
    foreach
    Codice PHP:
    foreach($vettore as $chiave => $valore) {
    echo 
    "Ciao";


  4. #4
    Guest

    Predefinito

    Nella struttura
    Codice:
    WNDCLASSEX wincl;
    definisci alcune proprietà tra cui anche l'icona. In particolare sono queste due righe
    Codice:
    wincl.hIcon = LoadIcon(NULL, IDI_APPLICATION);  
    wincl.hIconSm = LoadIcon(NULL, IDI_APPLICATION);
    Prova a vedere su msdn l'api LoadIcon e vedi cosa dice.

    Comunque costruire le GUI così, solo con le API, è un suicidio. O usi un framework: MFC e programmi con visual studio, oppure wxWidgets con code::blocks o wxDev-cpp.
    Oppure usi un linguaggio 'un pò più ad alto livello' per creare le gui (vedi C#).

  5. #5
    L'avatar di foreach
    foreach non è connesso Altervistiano Junior
    Data registrazione
    11-06-2008
    Residenza
    3 metri sotto terra
    Messaggi
    501

    Predefinito

    Cioè aspetta...

    Io vado dove sta scritto WNDCLASSEX wincl; e poi che devo fare?



    foreach
    Codice PHP:
    foreach($vettore as $chiave => $valore) {
    echo 
    "Ciao";


  6. #6
    Guest

    Predefinito

    WNDCLASSEX
    E' una struttura che definisce alcune proprietà del form, tra cui anche l'icona. Come ti ho fatto vedere nel messaggio precedente le righe nelle quali viene settata l'icona sono queste
    Codice:
    wincl.hIcon = LoadIcon(NULL, IDI_APPLICATION);  
    wincl.hIconSm = LoadIcon(NULL, IDI_APPLICATION);
    Vedi su msdn l'API LoadIcon per capire come funziona e vedi quello che riesci a fare.

  7. #7
    L'avatar di foreach
    foreach non è connesso Altervistiano Junior
    Data registrazione
    11-06-2008
    Residenza
    3 metri sotto terra
    Messaggi
    501

    Predefinito

    Allora ho provato così:

    Codice:
        wincl.hIcon = LoadIcon(NULL, url_icona);
        wincl.hIconSm = LoadIcon(NULL, url_icona);
    Però mi dà l'icona che ho specificato io solo nella barra delle applicazioni, non nella barra del titolo, come faccio?



    foreach
    Codice PHP:
    foreach($vettore as $chiave => $valore) {
    echo 
    "Ciao";


  8. #8
    Guest

    Predefinito

    Tel'ho detto, devi leggere su msdn la documentazione.

  9. #9
    L'avatar di foreach
    foreach non è connesso Altervistiano Junior
    Data registrazione
    11-06-2008
    Residenza
    3 metri sotto terra
    Messaggi
    501

    Predefinito

    Sulla documentazione mi dice di specificare l'instance se non uso un'icona tra quelle elencate lì. Io non so che devo specificare come parametro all'instance. Che metto?



    Grazie,
    foreach
    Codice PHP:
    foreach($vettore as $chiave => $valore) {
    echo 
    "Ciao";


  10. #10
    Guest

    Predefinito

    Ah.. questo è un bel problema. Mi sa che devi lavorare sul file delle risorse. E sinceramente non ho proprio idea di come si faccia. Prova a leggere qui

  11. #11
    L'avatar di foreach
    foreach non è connesso Altervistiano Junior
    Data registrazione
    11-06-2008
    Residenza
    3 metri sotto terra
    Messaggi
    501

    Predefinito

    Io non ho capito quello che dice. Mi puoi aiutare?




    Grazie e buona Pasqua,
    foreach
    Codice PHP:
    foreach($vettore as $chiave => $valore) {
    echo 
    "Ciao";


  12. #12
    Guest

    Predefinito

    Tel'avevo già detto in un reply precedente, io non ho mai usato direttamente le API per creare windows application. In un contesto del genere è meglio usare un framework, ce ne sono di tutti i tipo, open e non. GTK, QT, wxWidgets, MFC e via discorrendo.

    Se vuoi provare qualcosa prova wxDev-C++ ha un'interfaccia semplice e veloce, usa le wxWidgets.

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •