制作从屏幕右下角逐渐弹出的消息提示框

用MFC打造自定义屏幕右下角弹出窗口 MFC(Microsoft Foundation Classes)是一个为简化Windows程序开发而设计的C++类库。在MFC中,弹出窗口是一种常见的用户界面元素,用于显示额外信息或进行交互,如消息框、文件对话框等。MFC通过封装Windows API,简化了弹出窗口的创建、管理等操作,使其与应用程序的其他部分集成更加自然。当标准样式无法满足特定需求时,开发者可以使用自定义样式。自定义样式允许开发者通过修改窗口类的扩展样式和窗口过程函数来实现独特的界面设计和交互逻辑。 阅读详情
微软的每一个产品,无论功能还是界面设计都会带给我们一定的惊喜,比如OfficeXP、Office2003、Messenger的界面设计,早已成为众多软件竞相模仿的对象,就拿Messenger来说,我就见过好几套网络视频会议的软件都借鉴了它的界面风格。
  前段时间因为要在原来的软件上增加一个快捷键提示窗体,这个提示窗要求在显示的时候比较醒目美观能引起用户注意,显示后不影响用户操作,能够关掉。很自然的就想到了Messenger那个从屏幕右下角逐渐弹出的消息提示窗体,不过相对Messenger我更喜欢QQ2004奥运版的配色风格,反正都是偷就多偷点吧,下面快捷键提示窗的最终效果:
    快捷键提示窗样式

  这个窗体有以下几个特点:
  1、显示的时候是从屏幕右下角逐渐弹出的;
  2、它是个无标题窗体,但它必须允许用户移动和改变大小,因此要用到无标题窗体拖动、改变大小的技术;
  3、它是个不规则的窗体,主要是左上角和右上角是圆形导角,因此要为窗体创建外形,且窗体改变大小时必须重建;
  4、它标题和内容显示区都有渐层色,标题还有几个小点点,在实现时使用取巧的方法,直接利用截图进行填充。

  当然界面可以偷,代码就得老老实实的写的了,下面是界面设计图和实现代码:
    快捷键提示窗的设计图

 界面formPSHotKey.frm内容 [内容较长,请点击此处找开/折叠]

object frmPSHotKey: TfrmPSHotKey
  Left = 192
  Top = 107
  BorderStyle = bsNone
  Caption = '快捷键提示'
  ClientHeight = 168
  ClientWidth = 343
  Color = clWhite
  Constraints.MinWidth = 350
  Font.Charset = GB2312_CHARSET
  Font.Color = clWindowText
  Font.Height = -12
  Font.Name = 
'宋体'
  Font.Style = []
  FormStyle = fsStayOnTop
  OldCreateOrder = False
  OnCreate = FormCreate
  OnPaint = FormPaint
  OnResize = FormResize
  DesignSize = (
    343
    168)
  PixelsPerInch = 96
  TextHeight = 12
  object imgTitleBar: TImage
    Left = 0
    Top = 0
    Width = 343
    Height = 12
    Cursor = crSizeAll
    Align = alTop
    AutoSize = True
    Center = True
    Picture.Data = 
{
      07544269746D6170EE010000424DEE010000000000006E000000280000003900
      00000C000000010004000000000080010000120B0000120B00000E0000000E00
      0000D79D8B00A83A1700F8E6D600C9775E00F6DFCB00FAEDE200F4D7BE00F5DA
      C200EAD2BF00FCF5EE00FEFBF800BE796B00FFFFFF0000000000BBBBBBBBBBBB
      BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB000D0D0888888888888
      888888888888888888888888888888888888888888888000BBBB666666666666
      6666666666666666666666666666666666666666666660008888777777777777
      777777777777777777777777777777777777777777777000666644CC44CC44CC
      44CC44CC44CC44CC44CC44CC44CC44CC44CC44CC44CC40007777231C231C231C
      231C231C231C231C231C231C231C231C231C231C231C200044CC503550355035
      503550355035503550355035503550355035503550355000231C999999999999
      9999999999999999999999999999999999999999999990005035AAAAAAAAAAAA
      AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0009999CCCCCCCCCCCC
      CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000AAAABBBBBBBBBBBB
      BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB000CCCCBBBBBBBBBBBB
      BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB000BBBB}
    OnMouseDown = imgTitleBarMouseDown
    OnMouseMove = imgTitleBarMouseMove
  end
  object imgTitleBarBG: TImage
    Left = 248
    Top = 32
    Width = 7
    Height = 12
    AutoSize = True
    Picture.Data = 
{
      07544269746D617092000000424D920000000000000062000000280000000700
      00000C000000010004000000000030000000120B0000120B00000B0000000B00
      0000F4D7BE00F8E6D600F6DFCB00F5DAC200EAD2BF00FCF5EE00FEFBF800FAED
      E200BE796B00FFFFFF0000000000888888804444444000000000333333302222
      222011111110777777705555555066666660999999908888888088888880}
    Visible = False
  end
  object imgShapeBG: TImage
    Left = 280
    Top = 48
    Width = 3
    Height = 56
    AutoSize = True
    Picture.Data = 
{
      07544269746D6170DA010000424DDA01000000000000FA000000280000000300
      0000380000000100080000000000E0000000120B0000120B0000310000003100
      000000000000FFFFFF00FFFCFC00FFFDFD00FFF9F800FFFAF900FFFBFA00FFF6
      F300FFF7F400FFF9F700FFFCFB00FFF0EA00FFF3EE00FFF5F100FFFAF800FFE5
      D900FFE7DC00FFE9DF00FFEBE200FFEDE500FFEEE600FFEFE800FFF0E900FFF2
      EC00FFF4EF00FFF6F200FFF8F500FFE5D800FFE6D900FFE6DA00FFE7DB00FFE8
      DC00FFE8DD00FFE9DE00FFEAE000FFEBE100FFECE300FFEDE400FFEFE700FFF1
      EA00FFF3ED00FFF5F000FFF7F300FFF9F600FFFBF900FFFDFC00FFE9DD00FFEC
      E200FFF2EB001B1B1B000F0F0F001C1C1C001D1D1D001D1D1D001E1E1E001E1E
      1E00101010001F1F1F00202020002E2E2E002121210011111100222222002222
      220023232300121212002F2F2F00242424002525250013131300141414001414
      14002626260015151500161616000B0B0B002727270030303000171717002828
      28000C0C0C001818180018181800292929000D0D0D0019191900070707002A2A
      2A00080808001A1A1A001A1A1A002B2B2B0009090900040404000E0E0E000505
      05002C2C2C0006060600060606000A0A0A000A0A0A00020202002D2D2D000303
      030003030300}
    Visible = False
  end
  object SpeedButton1: TSpeedButton
    Left = 323
    Top = 16
    Width = 14
    Height = 14
    Anchors = [akTop, akRight]
    Flat = True
    Glyph.Data = 
{
      8A000000424D8A00000000000000420000002800000009000000090000000100
      04000000000048000000120B0000120B00000300000003000000BE604200FFFF
      FF00000000001111111110000200100111001000111110001000100010011100
      0001100010001110001110001100110000011000111010001000100011001001
      1100100010001111111110001001}
    OnClick = SpeedButton1Click
  end
  object Label1: TLabel
    Left = 16
    Top = 24
    Width = 60
    Height = 12
    Caption =
 '快捷键提示'
    Font.Charset = GB2312_CHARSET
    Font.Color = clWindowText
    Font.Height = -12
    Font.Name = 
'宋体'
    Font.Style = []
    ParentFont = False
    Transparent = True
  end
  object Label2: TLabel
    Left = 16
    Top = 99
    Width = 294
    Height = 12
    Caption = 
'A:光标在“编号”列时,切换数据类型为“步骤类型”'
    Transparent = True
  end
  object Label3: TLabel
    Left = 16
    Top = 118
    Width = 318
    Height = 12
    Caption = 
'B:光标在“编号”列时,切换数据类型为“工艺要求类型”'
    Transparent = True
  end
  object Label4: TLabel
    Left = 16
    Top = 138
    Width = 294
    Height = 12
    Caption = 
'C:光标在“编号”列时,切换数据类型为“用料类型”'
    Transparent = True
  end
  object Label5: TLabel
    Left = 16
    Top = 42
    Width = 132
    Height = 12
    Caption = 
'Alt+↓:打开下拉列表框'


Transparent = True
  end
  object Label6: TLabel
    Left = 16
    Top = 61
    Width = 108
    Height = 12
    Caption = 'Ctrl+Ins:插入一行'
    Transparent = True
  end
  object Label7: TLabel
    Left = 16
    Top = 80
    Width = 120
    Height = 12
    Caption =
 'Ctrl+Del:删除当前行'
    Transparent = True
  end
  object Label8: TLabel
    Left = 174
    Top = 42
    Width = 138
    Height = 12
    Caption = 
'Ins:打开“工艺名称表”'
    Transparent = True
  end
  object Label9: TLabel
    Left = 174
    Top = 61
    Width = 90
    Height = 12
    Caption = 
'F11:插入“℃”'
    Transparent = True
  end
  object Label10: TLabel
    Left = 174
    Top = 80
    Width = 90
    Height = 12
    Caption = 
'F12:插入“′”'
    Transparent = True
  end
  object Label11: TLabel
    Left = 0
    Top = 165
    Width = 343
    Height = 3
    Cursor = crSizeNS
    Align = alBottom
    AutoSize = False
    Transparent = True
    OnMouseDown = Label11MouseDown
    OnMouseMove = Label11MouseMove
  end
  object Label12: TLabel
    Left = 0
    Top = 12
    Width = 3
    Height = 153
    Cursor = crSizeWE
    Align = alLeft
    AutoSize = False
    Transparent = True
    OnMouseDown = Label12MouseDown
  end
  object Label13: TLabel
    Left = 340
    Top = 12
    Width = 3
    Height = 153
    Cursor = crSizeWE
    Align = alRight
    AutoSize = False
    Transparent = True
    OnMouseDown = Label13MouseDown
  end
end

 代码formPSHotKey.pas内容 unit formPSHotKey; 

interface 

uses 
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 
  Dialogs, ExtCtrls, StdCtrls, Buttons; 

{========================================================================
  DESIGN BY :  彭国辉
  DATE:        2004-10-28
  SITE:        
http://kacarton.yeah.net/
  BLOG:        http://blog.youkuaiyun.com/nhconch
  EMAIL:       kacarton@sohu.com

  文章为作者原创,转载前请先与本人联系,转载请注明文章出处、保留作者信息,谢谢支持!
=========================================================================}

type 
  TfrmPSHotKey = class(TForm) 
    imgTitleBar: TImage; 
    imgTitleBarBG: TImage; 
    imgShapeBG: TImage; 
    SpeedButton1: TSpeedButton; 
    Label1: TLabel; 
    Label2: TLabel; 
    Label3: TLabel; 
    Label4: TLabel; 
    Label5: TLabel; 
    Label6: TLabel; 
    Label7: TLabel; 
    Label8: TLabel; 
    Label9: TLabel; 
    Label10: TLabel; 
    Label11: TLabel; 
    Label12: TLabel; 
    Label13: TLabel; 
    procedure FormPaint(Sender: TObject); 
    procedure imgTitleBarMouseDown(Sender: TObject; Button: TMouseButton; 
      Shift: TShiftState; X, Y: Integer); 
    procedure FormCreate(Sender: TObject); 
    procedure SpeedButton1Click(Sender: TObject); 
    procedure Label11MouseDown(Sender: TObject; Button: TMouseButton; 
      Shift: TShiftState; X, Y: Integer); 
    procedure FormResize(Sender: TObject); 
    procedure Label12MouseDown(Sender: TObject; Button: TMouseButton; 
      Shift: TShiftState; X, Y: Integer); 
    procedure Label13MouseDown(Sender: TObject; Button: TMouseButton; 
      Shift: TShiftState; X, Y: Integer); 
    procedure imgTitleBarMouseMove(Sender: TObject; Shift: TShiftState; X, 
      Y: Integer); 
    procedure Label11MouseMove(Sender: TObject; Shift: TShiftState; X, 
      Y: Integer); 
  private 
    { Private declarations } 
  public 
   
 { Public declarations } 
  end; 

var 
  frmPSHotKey: TfrmPSHotKey; 

implementation 

{$R *.dfm} 

procedure TfrmPSHotKey.FormCreate(Sender: TObject); 
begin 
    Tag := Height; 
    Height := 16; 
    //定位到屏幕右下角
    Top := Screen.Height - 40; 
    Left := Screen.Width - Width - 2; 
    Show; 
    //从屏幕右下角逐渐弹出
    while Height<Tag do begin 
        Height := Height + 5; 
        Top := Top - 5; 
        Update; 
        Application.ProcessMessages; 
        Sleep(10); 
    end; 
    Height := Tag; 
    Tag := 0; 
    Color := $F4BA9D; 
    FormResize(Sender); 
end; 

procedure TfrmPSHotKey.FormPaint(Sender: TObject); 
var 
    i: integer; 
    rgn: HRGN; 
    r: TRect; 
begin 
    with Canvas do begin 
        //利用imgTitleBarBG绘制标题背景
        for i:=0 to ClientWidth div imgTitleBarBG.Width do 
            Draw(i*imgTitleBarBG.Width, 0, imgTitleBarBG.Picture.Bitmap); 
        if Tag<>0 then Exit;  //如果窗体正在弹出状态,不绘制内容面板背景
        //绘制内容面板背景
        SetRect(r, 5, 15, Width-5, Height-5); 
        StretchDraw(r, imgShapeBG.Picture.Bitmap); 

        Pen.Color := $C97F55; 
        Brush.Style := bsClear; 
        RoundRect(r.Left, r.Top, r.Right, r.Bottom, 6, 6); 
        //绘制窗体边框
        rgn := CreateRectRgn(0,0,0,0); 
        GetWindowRgn(Self.Handle, rgn); 
        Brush.Color := $BE796B; 
        windows.FrameRgn(Handle, rgn, Brush.Handle, 2, 2); 
        DeleteObject(rgn); 
    end; 
end; 

procedure TfrmPSHotKey.imgTitleBarMouseDown(Sender: TObject; 
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer); 
begin 
    //在标题按下鼠标键时,允许移动窗体或改变窗体大小
    ReleaseCapture; 
    if X < 5 then Perform(WM_SYSCOMMAND, $F004, 0) 
    else if X > Width - 5 then Perform(WM_SYSCOMMAND, $F005, 0) 
    else if Y < 3 then Perform(WM_SYSCOMMAND, $F003, 0) 
    else Perform(WM_SYSCOMMAND, $F012, 0); 
end; 

procedure TfrmPSHotKey.FormResize(Sender: TObject); 
var 
    rgn, rgn2: HRGN; 
begin 
    if Tag<>0 then Exit; 
    //窗体改变大小时重建Rgn
    rgn := CreateRoundRectRgn(0, 0, Width+1, Height, 4, 4); 
    rgn2 := CreateRectRgn(0, 11, Width, Height); 
    CombineRgn(rgn, rgn, rgn2, RGN_OR); 
    SetWindowRgn(Handle, rgn, True); 
    DeleteObject(rgn); 
    DeleteObject(rgn2); 
    Invalidate; 
end; 

procedure TfrmPSHotKey.SpeedButton1Click(Sender: TObject); 
begin 
    Close; 
end; 

//以下几个Label用来改变窗体大小
procedure TfrmPSHotKey.Label11MouseDown(Sender: TObject; 
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer); 
begin 
    ReleaseCapture; 
    if X < 5 then Perform(WM_SYSCOMMAND, $F007, 0) 
    else if X > Width - 5 then Perform(WM_SYSCOMMAND, $F008, 0) 
    else Perform(WM_SYSCOMMAND, $F006, 0); 
end; 

procedure TfrmPSHotKey.Label12MouseDown(Sender: TObject; 
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer); 
begin 
    ReleaseCapture; 
    Perform(WM_SYSCOMMAND, $F001, 0); 
end; 

procedure TfrmPSHotKey.Label13MouseDown(Sender: TObject; 
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer); 
begin 
    ReleaseCapture; 
    Perform(WM_SYSCOMMAND, $F002, 0); 
end; 

//下面代码判断鼠标所在位置,并改变鼠标光标,提示用户可以拖动窗体或改变大小
procedure TfrmPSHotKey.imgTitleBarMouseMove(Sender: TObject; 
  Shift: TShiftState; X, Y: Integer); 
begin 
    if X < 5 then imgTitleBar.Cursor := crSizeNWSE 
    else if X > Width - 5 then imgTitleBar.Cursor := crSizeNESW 
    else if Y < 3 then imgTitleBar.Cursor := crSizeNS 
    else imgTitleBar.Cursor := crSizeAll; 
end; 

procedure TfrmPSHotKey.Label11MouseMove(Sender: TObject; 
  Shift: TShiftState; X, Y: Integer); 
begin 
    if X < 5 then Label11.Cursor := crSizeNESW 
    else if X > Width - 5 then Label11.Cursor := crSizeNWSE 
    else Label11.Cursor := crSizeNS; 
end; 

end.

实现页面右下角的动态消息提示及广告弹窗 文档对象模型(DOM)是HTML和XML文档的编程接口。它允许程序和脚本动态地访问和更新文档的内容、结构和样式。DOM将文档表示为节点树,每个节点代表文档中的一个部分(例如,元素、属性或文本)。在JavaScript中,DOM被视为一个对象,允许我们通过编程方式来读取和修改页面结构。DOM提供了大量的API供开发者使用,包括创建、删除和修改节点,以及与节点交互等。 阅读详情

相关推荐

实现Jquery右下角弹出框的向上叠加提示

div有时,我们需要根据不同的使用场景,提供给用户自定义提示框显示时间的选项。这可以通过动态设置中的延迟时间来实现。// 根据用户自定义的时间显示提示框// 例如,让用户可以在1秒到10秒之间自定义显示时间// 默认3秒var userInputDuration = prompt("请输入提示框显示时间(毫秒):");

weixin_35756892的博客 1119

制作像MSN、QQ那样的消息提示框

  微软的每一个产品,无论功能还是界面设计都会带给我们一定的惊喜,比如OfficeXP、Office2003、Messenger的界面设计,早已成为众多软件竞相模仿的对象,就拿Messenger来说,我就见过好几套网络视频会议的软件都借鉴了它的界面风格。  前段时间因为要在原来的软件上增加一个快捷键提示窗体,这个提示窗要求在显示的时候比较醒目美观能引起用户注意,显示后不影响用户操作,能够关掉。很自

编程手札 4385

VB仿QQ屏幕右下角弹消息窗口

VB仿QQ屏幕右下角弹消息窗口,停留30秒后自动淡出!

HTML网页右下角弹出消息通知提示框

Naranja网页右下角弹出消息通知提示框js代码,点击按钮触发,包含了4种消息提示框样式:默认(log)、成功(success)、警告(warn)、危险 (error)。

SmileSunshines的博客 2883

Delphi右下角消息提示窗口.rar

Delphi右下角消息提示窗口,类似QQ的迷你提示窗口,显示在屏幕的右下角,十分漂亮,程序分别以Tiptimer方法和Tip循环方法来实现,其效果基本一样。

C#CS项目右下角弹出窗口并五秒内慢慢淡化

简单的C#的CS小项目,右下角弹出小窗口并慢慢淡化效果。

C#实现Winform程序右下角弹窗消息提示

消息通知在应用程序中,是一种非常有用的功能,实现对一些重要信息、提醒或警告及时向用户展示。我们在使用软件时,通常会收到一种从桌面右下角弹出的(提示信息或广告)信息框。本文将介绍使用 C# 实现此种方式的信息通知窗口。

2503

js消息提醒 右下角弹出

JS 消息提醒JS 消息提醒JS 消息提醒JS 消息提醒

windows上实现右下角提示窗

windows上实现右下角弹窗提示(native api)

Phoebus2617的博客 682

DELPHI右下角报警提示窗口源代码

DELPHI右下角报警提示窗口源代码,DELPHI右下角报警提示窗口源代码

手写Socket Web服务器:深入HTTP协议底层原理

HTTP协议是Web通信的基石,其本质是一套严格定义的文本格式与状态交互规范。理解它需回归传输层——TCP连接建立、请求响应格式(如状态行、头/体分隔符\r\n\r\n)、字符编码与字节长度一致性等核心原理。这些知识直接决定CORS拦截、中文乱码、Content-Length错误等高频问题的排查效率。在现代框架封装日益厚重的今天,亲手用Socket实现一个可被Chrome识别的极简Web服务器,成为掌握Web运行机制最有效的实践路径。本文即以DebugLZQ经典案例为蓝本,还原从URI解析、DNS查询、So

weixin_40192258的博客 534

【WPF】右下角弹出自定义通知样式(Notification)——简单教程

1.先看效果2.实现1.主界面是MainWindow上面就只摆放一个Button即可。在Button的点击事件中需要new一个弹出的NotificationWindow。代码如下: public static List<NotificationWindow> _dialogs = new List<NotificationWindow>(); int i = 0; private void Bu

catshitone的专栏 1万+

Tlsr8258开发-程序烧写

开源一小步,进步一大步

自学嵌入式 1774

Delphi 右下角弹出提示框

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34414196的博客 1082

stm32h743 FM25CL64铁电存储器踩坑记录

调试FRAM经验总结: 1、跑完FRAM读写代码之后,逻分仪发现总线上只有简单、短暂的电平变化,明显不是SPI的通信数据。 (经提醒发现连片选拉高拉低都没有执行到位) 后来发现是因为片选引脚没有初始化,所以直接拉高拉低是无效的。 2、引脚成功初始化后发现CLK、MISO、MOSI数据仍不正常。通过加打印的方式发现跑到HAL_SPI_Transmit中之后还没有执行到写SPI数据寄存器的那一步就return了。 后来经提醒发现: 上图中的指针使用方式错误 后来又发现: 打印出来发现

kuniqiw的博客 3844

海鸥派OpenEuler开发板实战:从烧写到SSH连接的完整指南

本文提供海鸥派OpenEuler开发板从开箱到SSH远程连接的完整实战指南。详细介绍了基于海思SD3403/SS928芯片的算力开发板系统烧写、存储扩容、网络配置等关键步骤,帮助开发者快速上手这款AI边缘计算设备,并实现高效的远程开发与管理。

ruby5的博客 1120

java 右下角_java 右下角弹出式提示框

package com.future.egov.autoUpdate;import java.awt.BorderLayout;import java.awt.Color;import java.awt.Dimension;import java.awt.FlowLayout;import java.awt.Insets;import java.awt.Toolkit;import java.aw...

weixin_34610364的博客 545

深度解析:LPDDR5 Receiver 的挑战与应对

LPDDR5 的数据速率已经来到Tbit​DataRate1​≈156ps在6400Mbps时也就是说,。👉 这就是为什么成为 LPDDR5 的“标配”。

weixin_43199439的博客 211

java swing屏幕右下角出现渐隐渐显的提示框

y 1.窗体出现时逐渐清晰 2.停留一会儿时间之后会自动逐渐模糊直至消失 3.点击关闭按钮后逐渐模糊直至消失 4.提示内容支持html标签

springmvc_springdata的专栏 1568

视图库对接系列(GA-T 1400)四、视图库对接系列(本级)注册

在之前的步骤中,我们已经把项目大体的架构已经写出来了。那我们就来实现注册接口。GA-T 1400中的步骤如下:这里的话,我们实现的简单点, 我们不进去鉴权,也就是设备或平台找我们注册的话,我们直接返回成功,不进行验证。如果需要鉴权的话可看我的另外一篇文档。

qq_37716298的博客 1043

使用 YOLO26 的牙科全景X光片分析:从牙齿检测到疾病诊断

从数据预处理自动化、模型架构针对性优化到基于视觉特征的性能分析。它证明了在医学图像分析中,模型架构的进步(如YOLO26的特性)可以有效缓解数据不平衡和目标微小的问题,为临床自动化诊断提供了一个高效、可靠的解决方案。Python"""全局配置模块包含数据集路径、类别名称、论文复现参数、划分比例等常量"""import os# ==================== 路径配置 ====================

u012133341的博客 102

弹出类qq提示消息 java_Java实现屏幕右下角弹出类QQ提示消息 | 学步园

Java实现屏幕右下角弹出类QQ提示消息一:源码。二。运行效果程序中使用的背景图如下:(免费0分下载地址 : 看我的上传资源。)import java.awt.BorderLayout;import java.awt.Color;import java.awt.Cursor;import java.awt.Dimension;import java.awt.FlowLayout;import ja...

weixin_29258865的博客 292

uniapp(全端兼容) - 最新详细uniapp全平台植入使用echarts图表插件,引入 Echarts 图表及使用详细教程,提供各种图表使用示例(拒绝复杂的过程,附带详细的使用示例保姆级教程)

uniapp 微信小程序 echats 图表,uni-app小程序引用echarts,niapp 微信小程序引入echats教程,uniapp 使用echats图表,uniapp开发如何在微信小程序平台使用echats图表,uniapp开发的小程序中怎么用echats,在uni-app中编译到微信小程序如何使用echarts,UNIAPP微信小程序使用Echarts,uni-app微信小程序使用echarts,Uniapp小程序端使用echarts最详细的教程,uni-app中使用Echarts绘画图表,u

✅ 精选推荐文章 1万+

python弹出窗口的代码_python+pyqt实现右下角弹出框

本文实例为大家分享了pyqt实现右下角弹出框的具体代码,供大家参考,具体内容如下构造函数中:self.desktop=QDesktopWidget()self.move((self.desktop.availableGeometry().width()-self.width()),self.desktop.availableGeometry().height()) #初始化位置到右下角self.s...

weixin_40002009的博客 1446

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

JS实现页面弹出类似QQ新闻的提示框

还是在做联通IOM项目时遇到的一个需求,要求页面每隔半小时弹出一次提示消息(消息以类似QQ新闻的形式弹出)。当时上网找的这么一个资料,已经不记得原文出处了 JavaScript提示框 <!-- /** * 类名:CLASS_MSN_MESSAGE * 功能:提供类似MSN消息框 * 示例: * var MSG =

曹海成的专栏 4268

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

上一篇: CreateWindowEx
下一篇: Delphi7对XML的支持分析
Dcdu
博客等级 码龄21年 44粉丝 33原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值