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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.03.2012, 16:50   #1
halcyon
crafter
Форумчанин
 
Аватар для halcyon
 
Регистрация: 03.09.2011
Сообщений: 127
По умолчанию SetPixel example

Захотел нарисовать простую точечку на экране, конечно же у меня ничего не вышло, пробовал откомпилить и в консоли и в empty project, и в winform, и в windows aplication. В консоли компилится, но не рисуется. Подскажите, что делать? как все-таки нарисовать пиксель. Гугл не спас
Код:
#include <Windows.h>

int main()
	{
		SetPixel(NULL, 0, 0, RGB(255, 255, 255));

		system("pause");
		return 0;
	}
выдает:
MSVCRTD.lib(crtexew.obj) : error LNK2019: unresolved external symbol _WinMain@16 referenced in function ___tmainCRTStartup
fatal error LNK1120: 1 unresolved externals

Последний раз редактировалось halcyon; 08.03.2012 в 17:52.
halcyon вне форума Ответить с цитированием
Старый 08.03.2012, 23:29   #2
Vago
Форумчанин
 
Регистрация: 15.01.2010
Сообщений: 948
По умолчанию

Цитата:
Сообщение от halcyon Посмотреть сообщение
В консоли компилится, но не рисуется. Подскажите, что делать?
Для начала - найти описатель окна...
Код:
#include <windows.h> 
#include <stdio.h>

#define White RGB(255,255,255)
#define C0 40
 
static HWND hConWnd ;

HWND GetConsoleWndHandle() ;
int BCX_Pixel( HWND, int, int, COLORREF ) ;


int main() {

   hConWnd = GetConsoleWndHandle() ;

   BCX_Pixel( hConWnd, C0, C0, White ) ;
   BCX_Pixel( hConWnd, C0, C0+2, White ) ;
   BCX_Pixel( hConWnd, C0+2, C0+2, White ) ;
   BCX_Pixel( hConWnd, C0+2, C0, White ) ;

   return 0 ;

}



HWND GetConsoleWndHandle() {

   HWND hConWnd ;
   char szTempTitle[64], szOriginalTitle[1024] ;
 
   GetConsoleTitle( szOriginalTitle, sizeof( szOriginalTitle ) ) ;
   sprintf( szTempTitle,"%u - %u", GetTickCount(), GetCurrentProcessId() ) ;

   SetConsoleTitle( szTempTitle ) ;
   Sleep( 50 ) ;
   hConWnd = FindWindow( NULL, szTempTitle ) ;
   SetConsoleTitle( szOriginalTitle ) ;
 
   return hConWnd ;

}


int BCX_Pixel( HWND wnd, int x, int y, COLORREF crColor ) {

   int    retCode ; 
   HDC  drawDC ;

   drawDC = GetDC( wnd ) ;
   retCode = SetPixel( drawDC, x, y, crColor ) ;
   ReleaseDC( wnd, drawDC ) ;

   return retCode ;

}
Vago вне форума Ответить с цитированием
Старый 12.03.2012, 10:54   #3
halcyon
crafter
Форумчанин
 
Аватар для halcyon
 
Регистрация: 03.09.2011
Сообщений: 127
По умолчанию

Спасибо вам, но:
Цитата:
HWND GetConsoleWndHandle() {

HWND hConWnd ;
char szTempTitle[64], szOriginalTitle[1024] ;

GetConsoleTitle( szOriginalTitle, sizeof( szOriginalTitle ) ) ;
sprintf( szTempTitle,"%u - %u", GetTickCount(), GetCurrentProcessId() ) ;

SetConsoleTitle( szTempTitle ) ;
Sleep( 50 ) ;
hConWnd = FindWindow( NULL, szTempTitle ) ;
SetConsoleTitle( szOriginalTitle ) ;

return hConWnd ;

}
Код:
HWND GetConsoleWndHandle() {

   HWND hConWnd ;
   char szTempTitle[64], szOriginalTitle[1024] ;
 
   GetConsoleTitle( reinterpret_cast<LPWSTR>(szOriginalTitle), sizeof( szOriginalTitle ) ) ;
   sprintf( szTempTitle,"%u - %u", GetTickCount(), GetCurrentProcessId() ) ;

   SetConsoleTitle(reinterpret_cast<LPWSTR>(szTempTitle) ) ;
   Sleep( 50 ) ;
   hConWnd = FindWindow( NULL, reinterpret_cast<LPWSTR>(szTempTitle) ) ;
   SetConsoleTitle( reinterpret_cast<LPWSTR>(szOriginalTitle) ) ;
 
   return hConWnd ;

}
halcyon вне форума Ответить с цитированием
Старый 12.03.2012, 16:03   #4
Vago
Форумчанин
 
Регистрация: 15.01.2010
Сообщений: 948
По умолчанию

А-а... Ну да, ну да... Спасибо за поправку! Люблю пуристов Сам такой. Пурист и перфекционист... Особенно в чистой C-программе reinterpret_cast перфектно выглядит! :D
Vago вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
GetPixel и SetPixel медленная работа. Kolan C# (си шарп) 4 18.06.2011 18:30
GetPixel,SetPixel Акоб Общие вопросы C/C++ 8 12.04.2011 16:33