mwindow.cpp

来自「飞虹 vision仿windows开发」· C++ 代码 · 共 46 行

CPP
46
字号
#include"\sunshine\include\mwindow.h"
#include<string.h>
#include<alloc.h>
#include<iostream.h>
#define DELTA 20
MWindowObj::MWindowObj(int x,int y,int w,int h,char *idname)
			 : MObj(x,y,w,h,idname)
 {
	maxlength=DELTA;
	winobj=new MObj*[maxlength];
	number=0;
 }
MWindowObj::~MWindowObj()
 {
  for(int i=0;i<number;i++) delete winobj[i];
  delete winobj;
 }
STATE MWindowObj::Add(MObj &aobj)
 {
  number++;
  if(number>maxlength)
	{
	  maxlength=maxlength+DELTA;
	  winobj=(MObj**)realloc(winobj,maxlength*sizeof(MObj*));
	}
  winobj[number-1]=&aobj;
  return SUCC;
 }

void MWindowObj::Del(char *idname)
 {
	for(int i=0;i<number;i++)
	  if(!strcmp(winobj[i]->GetId(),idname)) break;
	if(i==number) return;
	delete winobj[i];
	for(;i<number-1;i++) winobj[i]=winobj[i+1];  //Remove the first
	number--;
 }
MObj& MWindowObj::GetObj(char *idname)
 {
	for(int i=0;i<number;i++)
	  if(!strcmp(winobj[i]->GetId(),idname)) break;
	if(i==number) i--;
	return *winobj[i];
 }

⌨️ 快捷键说明

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