작은 시계 프로그램의 구현 방법에 대한 자세한 설명

高洛峰
풀어 주다: 2017-03-24 13:21:19
원래의
2647명이 탐색했습니다.

작은 시계 프로그램의 구현 방법에 대한 자세한 설명

일반적으로 Windows XP 화면 하단에 있는 시간이나 날짜 텍스트를 두 번 클릭하면 현재 시간과 날짜가 표시됩니다. 오른쪽 모서리에 다음이 나타납니다. 그림 1은 "날짜 및 시간 내용" 대화 상자를 보여줍니다. 대화 상자 오른쪽에 있는 작은 시계를 참고하세요. 시침, 분침, 초침은 실제 시계처럼 시간이 지남에 따라 위치가 변경됩니다. 이제 몇 가지 논리적 추론과 .Net Framework의 정교한 그리기 클래스를 사용하여 비슷한 효과를 쉽게 만들 수 있습니다. 프로그램 예

작은 시계 프로그램의 구현 방법에 대한 자세한 설명

차트 2는 프로그램 예의 실행 결과를 보여주고 있으며, 폼의 Load 이벤트 처리 루틴에서 그리기 시계의 반경과 좌표 위치를 계산합니다. 사용자가 시계가 속한 창의 크기를 조정하면 해당 창은 이중 버퍼링 제어 모드에서 시계의 내용을 자동으로 다시 그립니다. 이중 버퍼링을 설정하는 이유는 양식을 다시 그릴 때 발생하는 화면 깜박임을 줄이기 위해서입니다. 프로그램 코드는 다음과 같습니다.

private void Blog_DemoForm007_Load(object sender, EventArgs e)
{
 // 判断窗体的框线样式是否为可调整的框线。
 DoShowFrame = (this.FormBorderStyle == FormBorderStyle.Sizable);
 
 DemoClock = new Clock(this);
 
 // 取回矩型的宽度与高度坐标。
 ClientOffset = CalcClientLocation();
 
 // 计算时钟半径与坐标。
 CalcCircleSize();
 
 // 指定窗体样式位,当控件重新调整大小时,会重新绘制。
 this.SetStyle(ControlStyles.ResizeRedraw, true);
 
 // 指定窗体样式位,控件会忽略窗口讯息WM_ERASEBKGND 以降低重绘闪动,
 // 控件会自己绘制,操作系统不必执行,
 // 并且绘制已在缓冲区执行,绘制完成后将结果输出至屏幕,
 // 设定双重缓冲能避免控件重绘时所造成的重绘闪动。
 this.SetStyle(ControlStyles.AllPaintingInWmPaint |
   ControlStyles.UserPaint | ControlStyles.DoubleBuffer, true);
}
로그인 후 복사

창 크기를 변경하는 것 외에도 사용자가 만들 수 있습니다. 시계 주위의 창문 몸체 프레임이 사라지므로 그림 3과 같이 작은 시계의 외관은 기존 시계와 다르지 않습니다. 없는 경우 폼틀의 경우 작은시계를 마우스로 드래그하면 원하는 위치로 이동이 가능한가요? 대답은 '예'입니다. 양식의 MouseDown, MouseUp 및 MouseMove 이벤트 처리 루틴에 다음 프로그램 코드를 작성하십시오.

private void Blog_DemoForm007_MouseDown(object sender, MouseEventArgs e)
{
 // 用户按下鼠标左键。
 if (e.Button == MouseButtons.Left)
 {
  IsMouseDown = true;
  MouseOffset.X = e.X;
  MouseOffset.Y = e.Y;
 }
}

private void Blog_DemoForm007_MouseUp(object sender, MouseEventArgs e)
{
 IsMouseDown = false;
}

private void Blog_DemoForm007_MouseMove(object sender, MouseEventArgs e)
{
 // 移动窗体位置。
 if (IsMouseDown)
 {
  this.Location = new Point(
    this.Location.X + e.X - MouseOffset.X,
  this.Location.Y + e.Y - MouseOffset.Y);
 }
}
로그인 후 복사

곧 더 완전한 작은 시계 예제를 완성하고 다음과 같은 더 많고 풍부한 기능을 추가할 것입니다. 시계의 색상 및 그라데이션 효과 변경, 시계 텍스트 표시, 시계 기능 설정 파일 등은 오늘은 여기까지만 하고 다음에 뵙겠습니다. 작은 시계 프로그램의 구현 방법에 대한 자세한 설명

위 내용은 작은 시계 프로그램의 구현 방법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿