⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 appsetting_slider.c

📁 中芯微camera 图像处理芯片演示
💻 C
字号:
/*-------------------------------------------------------------------------------
// appSetting_slider
// appSetting_slider
// Create by jsguo 2005.10.3
--------------------------------------------------------------------------------*/

#include "../inc/nucleus.h"
#include "../inc/winconfig.h"
#include "MMI.h"
#include "../inc/windows.h"
//------------------------------------------------------------------------------
// 全局变量

int gnShowMenu_Setting_slider;
int gnselectItem_Setting_slider ;

#define SETTING_SLIDER_WIDTH 60
#define SETTING_TEXT_WIDTH   20
LRESULT CALLBACK VMSettingSliderProc(HWND,UINT,WPARAM,LPARAM);

int gMaxSettingSliderValue;
extern SLIDER_Obj gScrollBarSetting_Data_slider[20];
InitMWindow initMySetting_slider;
//Form gMyFormSetting_slider;
extern Form gMyFormSetting_slider;
CloseMWindow closeMySetting_slider;

//int SetSettingSlider(InitMWindow init,CloseMWindow close,Form FormDocumentList)
int SetSettingSlider(InitMWindow init,CloseMWindow close)
{
	initMySetting_slider=init;
	initMySetting_slider();
	closeMySetting_slider=close;
	return 1;
}
int MMI_SetSettingSliderMaxValue(int MaxSliderValue)
{
	if(MaxSliderValue==0) return;
	gMaxSettingSliderValue=MaxSliderValue;
	PostMessage(GetActiveWindow(),WM_PAINT,0,0);
	return 1;
}
int MMI_SetSettingSliderValue(int nSliderCount,int CurrentSliderValue)
{
	gScrollBarSetting_Data_slider[nSliderCount].slnStartX=20;
	gScrollBarSetting_Data_slider[nSliderCount].slnCurrentX=gScrollBarSetting_Data_slider[nSliderCount].slnStartX+CurrentSliderValue*SETTING_SLIDER_WIDTH/gMaxSettingSliderValue;
	PostMessage(GetActiveWindow(),WM_PAINT,0,0);
	return 1;
}
int MMI_GetSettingSliderSelectItem()
{
	return gnselectItem_Setting_slider;
}


int WINAPI VMSettingSliderMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
                   PSTR szCmdLine, int iCmdShow)
{
        static char szAppName[]="SettingSliderApp";
        HWND hwnd;
        MSG msg;
        WNDCLASS wndclass;

        wndclass.style          = CS_DBLCLKS | CS_HREDRAW | CS_VREDRAW;
        wndclass.lpfnWndProc    = (WNDPROC)VMSettingSliderProc;
        wndclass.cbClsExtra     =0;
        wndclass.cbWndExtra     =0;
        wndclass.hInstance      =0;
        wndclass.hIcon          =0;
        wndclass.hCursor        =0;
        wndclass.hbrBackground  =(HBRUSH)GetStockObject(WHITE_BRUSH);
        wndclass.lpszMenuName   =NULL;
        wndclass.lpszClassName  = szAppName;


        RegisterClass(&wndclass);
        hwnd=CreateWindowEx(0L,
                          szAppName,
                          "SettingSlider",
                          WS_OVERLAPPEDWINDOW | WS_VISIBLE,
                          CW_USEDEFAULT,
                          CW_USEDEFAULT,
                          MAINFRAME_WIDTH_DEFAULT,
                          MAINFRAME_HEIGHT_DEFAULT,
                          NULL,
                          NULL,
                          NULL,
                          NULL);
//  	gScrollBarSetting_Data_slider[i].slnCurrentX=20;             
  	gnselectItem_Setting_slider=0;            

        ShowWindow(hwnd,iCmdShow);
        UpdateWindow(hwnd);
        
        while (GetMessage(&msg,NULL,0,0)) {
                TranslateMessage(&msg);
                DispatchMessage(&msg);
        }      
        return msg.wParam;
}  

SLIDER_Obj gScrollBarSetting_slider={0x40c1ff,0xffff00,2,5,MAINFRAME_HEIGHT_DEFAULT-25,5,5};
//SLIDER_Obj gScrollBarSetting_Data_slider={/*0xa3138*/COLOR_SELECT,0xffff00,1,20,20+SETTING_SLIDER_WIDTH,10,20};
LRESULT CALLBACK VMSettingSliderProc(HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM lParam)
{       
        HDC hdc;    
        PAINTSTRUCT ps;
	RECT rect1;
 	int i,keyvalue,y;
 	int nSliderValue=0;
	HBRUSH hBrush,hBgBrush;

	switch (iMsg) {
        case WM_CREATE:
		gnShowMenu_Setting_slider = 1;
	        break;
        case WM_PAINT:
		hBrush = CreateSolidBrush(COLOR_SELECT);//0xa3138);//GetSysColor(COLOR_MENU));
		hBgBrush = CreateSolidBrush(COLOR_NORMAL);
		hdc=BeginPaint(hwnd,&ps);

		if((gMyFormSetting_slider.MenuSize-2)!=0)
			nSliderValue=(gScrollBarSetting_slider.slnEndX-gScrollBarSetting_slider.slnStartX)/(gMyFormSetting_slider.MenuSize-2);
		else
			nSliderValue=gScrollBarSetting_slider.slnEndX;

//		rect1.left = 10;
		rect1.top = 0;
		rect1.bottom = LIST_HEIGHT_DEFAULT;

		for( i = 0; i < gMyFormSetting_slider.MenuSize; i++)
		{
			gScrollBarSetting_Data_slider[i].slSliderColor=0xffff00;
			gScrollBarSetting_Data_slider[i].slnStartX=20;
			gScrollBarSetting_Data_slider[i].slnEndX=20+SETTING_SLIDER_WIDTH;
			gScrollBarSetting_Data_slider[i].slnDirection=1;

			rect1.left = 10;
			rect1.right = MAINFRAME_WIDTH_DEFAULT;
			if(gnselectItem_Setting_slider  == i)
			{
				FillRect(hdc,&rect1,hBrush);
				gScrollBarSetting_Data_slider[i].slBkColor=COLOR_SELECT;//0xa3138;
			}
			else
			{
				FillRect(hdc,&rect1,hBgBrush);
				gScrollBarSetting_Data_slider[i].slBkColor=COLOR_NORMAL;
			}

			if(gnselectItem_Setting_slider <LIST_DATA_DEFAULT)
			{
				rect1.left = MAINFRAME_WIDTH_DEFAULT-20-SETTING_TEXT_WIDTH;
				rect1.right = MAINFRAME_WIDTH_DEFAULT-20;
				DrawText(hdc,gMyFormSetting_slider.MenuList[i].MenuName,-1,&rect1,
					DT_SINGLELINE|DT_LEFT);
				rect1.top += LIST_HEIGHT_DEFAULT+1;
				rect1.bottom += LIST_HEIGHT_DEFAULT+1;
			}
			else
			{
				for(y=6;rect1.bottom<(MAINFRAME_HEIGHT_DEFAULT-MENU_HEIGHT_DEFAULT);rect1.bottom+=LIST_HEIGHT_DEFAULT+1,y--)
				{	
					rect1.left = MAINFRAME_WIDTH_DEFAULT-20-SETTING_TEXT_WIDTH;
					rect1.top=rect1.bottom-LIST_HEIGHT_DEFAULT;
					if(y  == 0)
					{
						FillRect(hdc,&rect1,hBrush);
						gScrollBarSetting_Data_slider[i].slBkColor=0xa3138;
					}
					else
					{
						FillRect(hdc,&rect1,hBgBrush);
						gScrollBarSetting_Data_slider[i].slBkColor=COLOR_NORMAL;
					}
					rect1.right = MAINFRAME_WIDTH_DEFAULT-20;
					DrawText(hdc,gMyFormSetting_slider.MenuList[gnselectItem_Setting_slider-y].MenuName,-1,&rect1,
					DT_SINGLELINE|DT_LEFT);//|DT_VRIGHT);
				}
				i = gMyFormSetting_slider.MenuSize;
			}
			gScrollBarSetting_Data_slider[i].slnSliderY=rect1.top - LIST_HEIGHT_DEFAULT/2;
/*			if(gMySliderCount==i)
				gScrollBarSetting_Data_slider[i].slnCurrentX=gScrollBarSetting_Data_slider[gMySliderCount].slnCurrentX;
			else
				gScrollBarSetting_Data_slider[i].slnCurrentX=gScrollBarSetting_Data_slider[i].slnStartX;
*/
			DisplaySlider(hwnd,gScrollBarSetting_Data_slider[i]);
		}

		gScrollBarSetting_slider.slnCurrentX=nSliderValue*gnselectItem_Setting_slider;
		DisplaySlider(hwnd,gScrollBarSetting_slider);

		DeleteObject(hBgBrush);
		DeleteObject(hBrush);
            	EndPaint(hwnd,&ps);
		break;
        case WM_DESTROY:
                PostQuitMessage(0);
                break;
	case WM_KEYUP:
		keyvalue = wParam - 49;
		if(keyvalue == KEY_CANCEL)
		{
			if(closeMySetting_slider != NULL)
			{
				closeMySetting_slider();
			}
			PostMessage(hwnd,WM_CLOSE,0,0);
		}
		//if((keyvalue >= 0) && (keyvalue <= 4))	// 方向键
		switch(keyvalue) 
		{

			gnselectItem_Setting_slider=gMyFormSetting_slider.CurrentMenuItem;
			case KEY_UP:
				gnselectItem_Setting_slider --;
				break;
			case KEY_DOWN:
				gnselectItem_Setting_slider ++;
				break;
			case KEY_LEFT:
				User_SettingSliderLeft();
				break;
			case KEY_RIGHT:
				User_SettingSliderRight();
				break;
			case KEY_OK:
				//
				break;
			default:
				break;
		}
		if(gnselectItem_Setting_slider < 0)
			gnselectItem_Setting_slider = gMyFormSetting_slider.MenuSize - 1;
		else if(gnselectItem_Setting_slider >= gMyFormSetting_slider.MenuSize)
			gnselectItem_Setting_slider = 0;
		gMyFormSetting_slider.CurrentMenuItem =gnselectItem_Setting_slider;
		
		PostMessage(hwnd,WM_PAINT,0,0);
       default:	   	
                return DefWindowProc(hwnd,iMsg,wParam,lParam);
        }   
        return (0);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -