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

📄 mpopmenu.cpp

📁 飞虹 vision仿windows开发
💻 CPP
字号:
#include"include\mpopmenu.h"
#include"include\app.h"
#include"include\mlist.h"
#include"include\define.h"
#include<alloc.h>
MPopMenu::MPopMenu(MList &talist,char *idname)
	: MWindowObj(talist.x()-1,talist.y()-1,talist.w()+2,talist.h()+2,idname)
 {
	rscreen=farmalloc(imagesize(x(),y(),x()+w()-1,y()+h()-1));
	Add(talist);
	Save();
	UnFocus();
 }
MPopMenu::~MPopMenu()
 {
	Restore();
	if(rscreen!=(void far *)0xffff) farfree(rscreen);
 }
void MPopMenu::UnFocus()
 {
	setfillstyle(SOLID_FILL,BLUE);
	bar(x(),y(),x()+w()-1,y()+h()-1);
 }
void MPopMenu::GetFocus()
 { }  //usually do nothing
STATE MPopMenu::Save()
 {
	Mouse am;
	am.MouseOff();
	if(rscreen==(void far *)0xffff) return FAIL;
	getimage(x(),y(),x()+w()-1,y()+h()-1,rscreen);
	am.MouseOn();
	return SUCC;
 }
void MPopMenu::Restore()
 {
  Mouse am;
  am.MouseOff();
  putimage(x(),y(),rscreen,COPY_PUT);
  am.MouseOn();
 }
int MPopMenu::Process()
 {
	if(Mes==NOPRO) return 1;
	if(Mes==DEL) return DEL;
	while(1)
	 {
	  Mouse am;
	  int value;
	  int i=0;
	  am.Reset();
	  if((am.x()<x() || am.y()<y() || am.x()>(x()+w()-1)
			|| am.y()>(y()+h()-1))&&am.lp()) return DEL;
	  value=winobj[i]->Process();
	  if(value==MENU)       return DEL;
	  if(value==DEL) return DEL;
	  i++;i=(i==number?0:i);
	}
 }

⌨️ 快捷键说明

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