Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 20.02.2014, 13:28   #1
StalkerIQ
 
Регистрация: 22.01.2010
Сообщений: 9
По умолчанию Счётчик нажатия на кнопку =)

Здравствуйте, совсем замучился вроде бы плёвое дело, но не могу написать.
На форме кнопка при нажатие на неё например Lable ну или в Edit вписывалось 1 после повторного нажатия вписывалось 2 при 3 соответственно 3 и т.д. Сколько раз клацнул на кнопку столько раз счётчик +1 и сделал.
StalkerIQ вне форума
Старый 25.02.2014, 14:56   #2
nikolay1982
Пользователь
 
Регистрация: 31.12.2013
Сообщений: 47
По умолчанию

Вот так можно:
Код:
#include <windows.h>

#include <commctrl.h>		// INCLUDE LIBRARY comctl32.lib INTO YOUR PROJECT!

//#include "resource.h"		// UNCOMMENT THIS IF YOU USE RESOURCES.



// names of window classes.

#define WND_CLASS_NAME0 "my_wnd_class_name_0"



// identifiers.

#define IDC_EDIT0   2000

#define IDC_BUTTON0 2001



// function prototypes.

void register_classes();

int message_loop();

HWND create_wnd0();

void create_wnd_content0(HWND parent);

LRESULT CALLBACK wnd_proc0(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam);



// global data.

HINSTANCE instance;

HFONT h_font;

int clicks=0;

// main function.

int WINAPI WinMain(HINSTANCE hinstance, HINSTANCE hprevinst, LPSTR cmdline, int show)

{

	instance = hinstance;

	InitCommonControls();

	register_classes();

	h_font = CreateFont(-13, 0, 0, 0, FW_NORMAL, 0,

				0, 0, ANSI_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS,

				DEFAULT_QUALITY, DEFAULT_PITCH | FF_DONTCARE, "Times New Roman");

	create_wnd0();

	return message_loop();

}



// window procedure #0 [window].

LRESULT CALLBACK wnd_proc0(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam)

{

	char buf[256];

	switch (msg)

	{

	case WM_COMMAND:

		switch (LOWORD(wparam))

		{

		case IDC_BUTTON0:	// button "button"

			clicks++;

			sprintf(buf,"clicks:%i",clicks);

			SetDlgItemText(hwnd,IDC_EDIT0,(LPSTR)buf);

			//MessageBox(hwnd, "the button IDC_BUTTON0 is clicked.", "Event", MB_OK|MB_ICONINFORMATION);

			break;



		}

		break;



	case WM_CREATE:

		create_wnd_content0(hwnd);

		 sprintf(buf,"clicks:%i",clicks);

		 SetDlgItemText(hwnd,IDC_EDIT0,(LPSTR)buf);

		break;



	case WM_CLOSE:

		if (IDYES == MessageBox(hwnd, "Quit?", "Event", MB_YESNO|MB_ICONQUESTION)) DestroyWindow(hwnd);

		break;



	case WM_DESTROY:

		PostQuitMessage(0);	// PostQuitMessage(return_code) quits the message loop.

		break;



	default:

		return DefWindowProc(hwnd, msg, wparam, lparam);

	}

	return FALSE;

}



// create window #0 [window].

HWND create_wnd0()

{

	HWND wnd;

	wnd = CreateWindowEx(0x00000100, WND_CLASS_NAME0, "window", 0x14CF0000, CW_USEDEFAULT, CW_USEDEFAULT, 289, 117, NULL, NULL, instance, NULL);

	ShowWindow(wnd, SW_SHOWNORMAL);

	UpdateWindow(wnd);

	return wnd;

}



// create window content #0 [window].

void create_wnd_content0(HWND parent)

{

	HWND wnd;

	wnd = CreateWindowEx(0x00000000, "Button", "button", 0x50012F00, 48, 24, 96, 32, parent, (HMENU) IDC_BUTTON0, instance, NULL);

	SendMessage(wnd, WM_SETFONT, (WPARAM) h_font, TRUE);

	wnd = CreateWindowEx(0x00000200, "Edit", "", 0x50010080, 168, 24, 64, 24, parent, (HMENU) IDC_EDIT0, instance, NULL);

	SendMessage(wnd, WM_SETFONT, (WPARAM) h_font, TRUE);

}



// register all the window classes.

void register_classes()

{

	WNDCLASS wc;



	wc.cbClsExtra    = 0;

	wc.cbWndExtra    = 0;

	wc.hbrBackground = (HBRUSH)(COLOR_3DFACE + 1);

	wc.hCursor       = LoadCursor(NULL, IDC_ARROW);

	wc.hIcon         = LoadIcon(NULL, IDI_APPLICATION);

	wc.hInstance     = instance;

	wc.lpszMenuName  = NULL;

	wc.style         = CS_PARENTDC | CS_DBLCLKS;



	wc.lpfnWndProc   = wnd_proc0;

	wc.lpszClassName = WND_CLASS_NAME0;



	RegisterClass(&wc);

}



// message loop.

int message_loop()

{

	MSG msg;

	while (GetMessage(&msg, NULL, 0, 0))

	{

		TranslateMessage(&msg);

		DispatchMessage(&msg);

	}

	DeleteObject(h_font);

	return msg.wParam;

}
/* End of file */
nikolay1982 вне форума
Старый 26.02.2014, 07:19   #3
StalkerIQ
 
Регистрация: 22.01.2010
Сообщений: 9
По умолчанию

Во-первых спасибо, во-вторых воу-воу-воу полегче гражданин, в-третьих я написал так...
Код:
static int i=0;
if (Button1->OnClick)
i=i+1;
Edit1->Text=i;
Ваш код я обязательно изучу опробую сохраню может где и понадобиться. ^^

Последний раз редактировалось MaTBeu; 26.02.2014 в 12:49.
StalkerIQ вне форума
Старый 26.02.2014, 12:50   #4
MaTBeu
Eclipse Foundation
Старожил
 
Аватар для MaTBeu
 
Регистрация: 19.09.2007
Сообщений: 2,604
По умолчанию

Цитата:
Сообщение от StalkerIQ Посмотреть сообщение
Во-первых спасибо, во-вторых воу-воу-воу полегче гражданин, в-третьих я написал так...
Код:
static int i=0;
if (Button1->OnClick)
i=i+1;
Edit1->Text=i;
Ваш код я обязательно изучу опробую сохраню может где и понадобиться. ^^
В следующий раз уточняйте, какую среду вы используете.
MaTBeu вне форума
Старый 28.02.2014, 07:48   #5
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

Цитата:
В следующий раз уточняйте, какую среду вы используете.
В следующий раз будет уже другой ТС. С их точки зрения мир программирования тоталитарный и однополярный. Только одна операционная система, только один язык программирования, только одна среда разработки и все остальное тоже только одно. Поэтому зачем уточнять что-то?
rrrFer вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Функция нажатия на кнопку avcs Visual C++ 5 24.10.2013 16:45
flash счётчик нажатий на кнопку. Myshyakoff Общие вопросы Web 1 29.10.2012 20:55
Счётчик нажатия... Maxi'm PHP 9 04.02.2012 00:11
Избежать повторного нажатия на кнопку Shouldercannon Общие вопросы Delphi 4 27.04.2009 11:26
СЧЁТЧИК НАЖАТИЙ НА КНОПКУ Saydan Microsoft Office Access 8 24.06.2008 21:39