Geometry::Geometry(GLFWwindow *_pWindow)
{
	m_pWindow = _pWindow;
	StartUp();
}
BOOL CALLBACK Main(HWND hDlgMain,UINT uMsg,WPARAM wParam,LPARAM lParam) {
	NMHDR* nmNotification = (NMHDR*)lParam;
	PAINTSTRUCT		ps;
	HDC				hdc;
	BOOL			bRes;

	LPNMHDR				lpnmhdr;
	LPNMITEMACTIVATE	lpnmitem;
	//LVITEM				lvItem;
	LVHITTESTINFO		lvHti;
	HMENU				hMenu;
	POINT				pt;
	char	*buffer;
	SHELLEXECUTEINFO	ShExecInfo= {0};

	hDlg= hDlgMain;

	switch(uMsg) {
		case WM_INITDIALOG:
			hList= GetDlgItem(hDlg, IDC_FOLDERS);
			ListView_SetExtendedListViewStyle(hList, LVS_EX_FULLROWSELECT | LVS_EX_HEADERDRAGDROP | LVS_EX_GRIDLINES);
			SendMessageA(hDlg,WM_SETICON,ICON_SMALL, (LPARAM) LoadIcon(hInst,MAKEINTRESOURCE(IDI_ICON)));
			SendMessageA(hDlg,WM_SETICON, ICON_BIG,(LPARAM) LoadIcon(hInst,MAKEINTRESOURCE(IDI_ICON)));
			StartUp();
			ListView_DeleteAllItems(hList);
			bRes= InitList(hDlg);
			break;
		case WM_COMMAND:
			switch( wParam ){
				case IDC_REFRESH:
					ListView_DeleteAllItems(hList);
					bRes= InitList(hDlg);
					break;
				case IDC_EXIT:
					EndDialog(hDlg,wParam);
					break;
				case IDM_PROPERTIES:
					bRes= DialogBoxParam(GetModuleHandle(0), MAKEINTRESOURCE(IDD_PROPERTIES), hDlg, Properties, 0);
					return TRUE;
				case IDM_FOLDER_PROPERTIES:
					buffer= (char*)calloc(512, sizeof(char));
					ListView_GetItemText(hList, iSelect, 2, buffer, 512);

					ShExecInfo.cbSize= sizeof(SHELLEXECUTEINFO);
					ShExecInfo.fMask= SEE_MASK_INVOKEIDLIST;
					ShExecInfo.hwnd= NULL;
					ShExecInfo.lpVerb= "properties";
					ShExecInfo.lpFile= buffer;
					ShExecInfo.lpParameters= "";
					ShExecInfo.nShow= SW_SHOW;
					ShExecInfo.hInstApp= NULL;
					ShellExecuteEx(&ShExecInfo);
					return TRUE;
			}
			break;
		case WM_NOTIFY:
			lpnmhdr= (LPNMHDR)lParam;
			if( lpnmhdr->hwndFrom==hList ){
				if(lpnmhdr->code == NM_RCLICK) {
					lpnmitem= (LPNMITEMACTIVATE)lParam;
					hMenu= CreatePopupMenu();

					ZeroMemory(&lvHti, sizeof(LVHITTESTINFO));

					lvHti.pt= lpnmitem->ptAction;
					iSelect= ListView_HitTest(hList, &lvHti);

					if( lvHti.flags&LVHT_ONITEM ){
						AppendMenu(hMenu, MF_STRING, IDM_PROPERTIES, " Properties");
						AppendMenu(hMenu, MF_STRING, IDM_FOLDER_PROPERTIES, "Folder Properties");
					}
					GetCursorPos(&pt);
					TrackPopupMenu(hMenu, TPM_LEFTALIGN, pt.x, pt.y, 0, hDlg, 0);
				}
			}
			DestroyMenu(hMenu);
			return TRUE;
		case WM_PAINT:
			hdc= BeginPaint(hDlg, &ps);
			InvalidateRect(hDlg, NULL, TRUE);
			EndPaint (hDlg, &ps);
		break;
		case WM_CLOSE:
			EndDialog(hDlg,wParam);
			DestroyWindow(hDlg);
		break;
		case WM_DESTROY:
			PostQuitMessage(0);
		break;
	}
	return FALSE;
}
示例#3
0
/***************************************************
OnDraw - overloaded CUGCellType::OnDraw
	
    **See CUGCellType::OnDraw for more details
	about this function
****************************************************/
void CUGMarqueeType::OnDraw(CDC *dc,RECT *rect,int col,long row,
							 CUGCell *cell,int selected,int current)
{
	if (!m_drawThemesSet)
			m_useThemes = cell->UseThemes();


	//if the time has not been started yet, then start it
	if(m_timerID == 0)
		StartUp();

	//draw the standard cell border
	DrawBorder(dc,rect,rect,cell);

	int length;
	int position;
	int cellWidth = rect->right - rect->left;

	//get the length of the text
	if(cell->IsPropertySet(UGCELL_FONT_SET) )
		dc->SelectObject(cell->GetFont());
	CSize size = dc->GetOutputTextExtent(cell->GetText());
	length = size.cx + cellWidth;

	//check it drawing position
	position = cell->GetParam();

	//check to see if the position needs to be reset
	if(position >= length){
		position = 0;
		cell->SetParam(0);
		m_ctrl->SetCell(col,row,cell);
	}

	//check the selected and current states
	if(selected || (current && m_ctrl->m_GI->m_currentCellMode&2)){
		dc->SetTextColor(cell->GetHTextColor());
		DrawBackground( dc, rect, cell->GetHBackColor(), row, col, cell, current > 0, selected > 0);
	}
	else{
		dc->SetTextColor(cell->GetTextColor());
		DrawBackground( dc, rect, cell->GetBackColor(), row, col, cell, current > 0, selected > 0);
	}

	// vertical text alignment
	short alignment;
	int top;
	if(cell->IsPropertySet(UGCELL_ALIGNMENT_SET))
		alignment = cell->GetAlignment();
	else
		alignment = 0;

	if(alignment & UG_ALIGNVCENTER)
	{
		top = rect->top + (rect->bottom - rect->top - size.cy) /2;
	}
	else if(alignment & UG_ALIGNBOTTOM)
	{
		top = rect->bottom - size.cy - 1;
	}
	else
	{
		top = rect->top + 1;
	}

	dc->SetBkMode(TRANSPARENT);
	//draw the text in using the default drawing routine
	dc->ExtTextOut(rect->left + (cellWidth - position),top,ETO_CLIPPED,rect,cell->GetText(),NULL);
	dc->SetBkMode(OPAQUE);
}
ParticleEmitter::ParticleEmitter(): m_particles(nullptr), m_firstDead(0), m_maxParticles(0), m_position(0, 0, 0), m_vao(0), m_vbo(0), m_ibo(0), m_vertexData(nullptr)  
{
	StartUp();
}
示例#5
0
GUI_Bar::GUI_Bar(GLFWwindow *_pWindow)
{
	StartUp(_pWindow);
}
示例#6
0
文件: Gdi.cpp 项目: maxya/old_sources
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
	int wmId, wmEvent;
	PAINTSTRUCT ps;
	HDC hdc;
	//RECT rect;
	int num=0;

	switch (message) 
	{
	case WM_CREATE:
		StartUp();
		break;
	case WM_COMMAND:
		wmId    = LOWORD(wParam); 
		wmEvent = HIWORD(wParam); 
		// Parse the menu selections:
		switch (wmId)
		{
		case IDM_FILE_NEW:			
			StartUp();
			WinCheck();
			if(wongame==true)
				StartUp();
			InvalidateRect(hWnd,NULL,FALSE);
			break;
		case IDM_ABOUT:
			DialogBox(hInst, (LPCTSTR)IDD_ABOUTBOX, hWnd, (DLGPROC)About);
			break;
		case IDM_EXIT:
			DestroyWindow(hWnd);
			break;
		default:
			return DefWindowProc(hWnd, message, wParam, lParam);
		}
		break;
	case WM_PAINT:
		hdc = BeginPaint(hWnd, &ps);
		//GetClientRect(hWnd,&rect);		
		for(int i=0;i<4;i++)
			for(int j=0;j<4;j++)
				OnPaint(hdc,j*64,i*64,Pole[i][j]);
		// TODO: Add any drawing code here...		
		EndPaint(hWnd, &ps);		
		break;
		
	case WM_DESTROY:
		PostQuitMessage(0);
		break;
	case WM_LBUTTONDOWN:
		POINT pt;
		GetCursorPos(&pt);
		ScreenToClient(hWnd,&pt);
		SwapNum((int)pt.x/64,(int)pt.y/64);
		InvalidateRect(hWnd,NULL,FALSE);
		if(wongame == true)
			MessageBox(hWnd,"You Won The Game!","Congradulations !",NULL);
		break;
	case WM_WINDOWPOSCHANGED:
	//case WM_MOVE:
		InvalidateRect(hWnd,NULL,FALSE);
		break;
	default:
		return DefWindowProc(hWnd, message, wParam, lParam);
	}
	return 0;
}