Member 14470453 Ответов: 3

Как создать кнопку в C++


Я создал проект в Dev C++, но мне нужно создать окно и управлять событиями мыши над кнопкой.
Не могли бы вы мне помочь, пожалуйста?

Что я уже пробовал:

Я использовал следующую треску, но она не работает должным образом

// Grafica de la  circunferencia
//#include <graphics.h>
#include <math.h>
#include <conio.h>
#include <iostream>
#include <winbgim.h>
#include <stdlib.h>
//#include <cstdlib.h>

using namespace std;
const int ANCHO = 720, ALTO = 720;
void titulo(int x, int y, char *n="    "){
  outtextxy(x,y,n);
  } 

int prueba(int x, int y)
{
  rectangle(x,y,x+70,y+20);
  
  if(mousex()>x && mousex()<x+70 && mousey()>y && mousey()<y+20 && ismouseclick(WM_LBUTTONDOWN))
    {   
	    clearmouseclick(WM_LBUTTONDOWN);
    	return 1;
	}
  else
    {
    	clearmouseclick(WM_LBUTTONDOWN);
  	    return 0;
    }     
}

void estado (int x, int y, int c1, int c2)
{
    if(mousex()>x && mousex()<x+70 && mousey()>y && mousey()<y+20 )
	{
    	setcolor(c1);
	}
	else
	{
		setcolor(c2);
	}    
}

/*****************************************************************************************************************************/  
int main(int argc, char *argv[]) {
	initwindow( 400, 400, "Botón para salir", 300,200 );
	setbkcolor(RGB(63,199,168));
	cleardevice();
	
	while(true)
    {
     
	 titulo(100,40,"SALIR");
	 estado(100,42,2,15);
	 if (prueba(90,40))
	   {return 0;}
	 
	}		
	
	getch();	
}

3 Ответов

Рейтинг:
0

Maximilien

Я не знаю Dev C++ , но вам нужен инструментарий GUI для создания кнопок.

Насколько я вижу, вам нужно создать новый проект типа "Windows Application" и начать кодирование элементов пользовательского интерфейса Win32.

Например : Как сделать кнопку в Dev C++ | C++ Tutorial - YouTube[^]

Удачи.


Рейтинг:
0

Tonex247

Кнопки на самом деле являются окнами и создаются таким же образом:

<br />
#define  btn_ID 5000 //used as the button's id during creation<br />
 <pre>HWND hwndButton = CreateWindowEx( 0, L"BUTTON",  // Predefined class; Unicode assumed <br />
    L"OK",      // Button text <br />
    WS_TABSTOP | WS_VISIBLE | WS_CHILD | BS_DEFPUSHBUTTON,  // Styles <br />
    10,         // x position <br />
    10,         // y position <br />
    100,        // Button width<br />
    100,        // Button height<br />
    m_hwnd,     // Parent window<br />
    (HMENU)btn_ID,    // Button ID<br />
    appInstance, //Application instance<br />
NULL);      // Pointer not needed.</pre>// Check msdn for windows creation<br />
//Then control the button's fuction in windows procedure:<br />
<br />
<pre>LRESULT CALLBACK WndProc( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam ){ int commandType = HIWORD (wParam); int controlID   = LOWORD (wParam); switch( msg ){  case WM_CREATE:{ } break; case WM_COMMAND:{ switch( commandType ){<br />
			<br />
				case BN_CLICKED:{<br />
					<br />
					switch( controlID ){<br />
						<br />
						case btn_ID:{<br />
							<br />
						//Do button action here<br />
						}<br />
						break;<br />
					}</pre><br />


Рейтинг:
0

CPallini

Похоже, вы пытаетесь использовать порт библиотеки BGI для Windows. Здесь вы можете найти документацию и код smple: Документация по графическому интерфейсу Borland Graphics Interface (BGI) [^].