Atitit. 懸浮窗口的實現 java swing c# .net c++ js html 的實現

Atitit. 懸浮窗口的實現 java swing c# .net c++ js html 的實現html

 

1. 創建懸浮窗口引用代碼 1java

1.1. 定義懸浮窗口,設置this主窗口引用,是爲了在懸浮窗口中雙擊可縮小還還原主窗口.以及懸浮窗口右鍵菜單"顯示主界面"中須要還原主窗 1c++

1.2. //設置主窗口關閉時,先關閉懸浮窗口.and系統托盤 1編程

1.3. 注入系統托盤圖標,退出的時候兒也退出系統托盤 2c#

2. 懸浮窗口結構and重大的點 2less

2.1. 要去掉標題欄: 2工具

2.2. Opacity 透明度70% 2網站

2.3. 不會在任務欄有圖標 2this

2.4. 設置頂層次窗口 2spa

2.5. 3) 要拖動窗體的功能:  只要給窗體中的某個組件添加以下代碼就好了: 3

2.6. 鼠標移動的時候兒光標狀態更改 3

2.7. 右鍵彈出菜單 3

2.8. 雙點擊懸浮窗口能夠最大化最小化主要的窗口 3

3. 各大的語言實現 3

3.1. Java swing的實現 3

3.2. C#.net的實現 4

3.3. C++ qt的實現 4

3.4. Web html 懸浮窗口的實現 4

4. 參考 4

 

1. 創建懸浮窗口引用代碼

1.1. 定義懸浮窗口,設置this主窗口引用,是爲了在懸浮窗口中雙擊可縮小還還原主窗口.以及懸浮窗口右鍵菜單"顯示主界面"中須要還原主窗

 m.floatForm fltfm;
  fltfm = new floatForm(this); //定義懸浮窗口,設置this主窗口引用,是爲了在懸浮窗口中雙擊可縮小還還原主窗口.以及懸浮窗口右鍵菜單"顯示主界面"中須要還原主窗口..
  fltfm.Show();  //顯示

1.2. //設置主窗口關閉時,先關閉懸浮窗口.and系統托盤


            new Exitx().close(this, delegate {           


                this.fltfm.Close();//關閉懸浮窗口
                trc4.close();//關閉托盤圖標
              
            });

 

1.3. 注入系統托盤圖標,退出的時候兒也退出系統托盤

做者:: 老哇的爪子 Attilax 艾龍,  EMAIL:1466519819@qq.com

轉載請註明來源: http://blog.csdn.net/attilax

 

2. 懸浮窗口結構and重大的點

2.1. 要去掉標題欄:

C++ qt 從QWidget 繼承..沒有工具bar, 狀態bar...固然,從QMainWindowi繼承也能了.  setWindowFlags( Qt::FramelessWindowHint

Swing 是使用jwindow模式 ,或者..jframe.setUndecorated(true); // no titlbar  ,jeig defin in  java.awt.Frame

2.2. Opacity 透明度70%

   setAttribute(Qt::WA_TranslucentBackground, true);

jwindow.setOpacity(0.7f); 

2.3. 不會在任務欄有圖標

setWindowFlags(    Qt::Tool)   //工具條模式

Swing 是使用jwindow模式....使用jframe模式還馬行上方法..

2.4. 設置頂層次窗口

setWindowFlags(  Qt::WindowStaysOnTopHint 

Java 是

jwindow/jframe.setAlwaysOnTop(true);

2.5. 3) 要拖動窗體的功能: 
只要給窗體中的某個組件添加以下代碼就好了:

2.6. 鼠標移動的時候兒光標狀態更改

2.7. 右鍵彈出菜單

2.8. 雙點擊懸浮窗口能夠最大化最小化主要的窗口

3. 各大的語言實現

3.1. Java swing的實現

Point loc = null;

Point tmp = null;

boolean isDragged = false;

//press move release

private void setDragable() {

this.addMouseListener(new java.awt.event.MouseAdapter() {

public void mousePressed(java.awt.event.MouseEvent e) {

tmp = new Point(e.getX(), e.getY());

isDragged = true;

//jFrame.setCursor(new Cursor(Cursor.MOVE_CURSOR));

}

public void mouseReleased(java.awt.event.MouseEvent e) {

isDragged = false;

//jFrame.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));

}

 

});

this.addMouseMotionListener(new java.awt.event.MouseMotionAdapter() {

public void mouseDragged(java.awt.event.MouseEvent e) {

if (isDragged) {

//jFrame.().x

int x = jFrame.getBounds().x;

int y = jFrame.getBounds().y;

loc = new Point(x + e.getX() - tmp.x,

y + e.getY() - tmp.y);

jFrame.setLocation(loc);

}

}

});

}

3.2. C#.net的實現

3.3. C++ qt的實現

3.4. Web html 懸浮窗口的實現

 

4. 參考

Java-如何去掉JFrame上的最大化最小化和關閉按鈕_Linux編程_Linux公社-Linux系統門戶網站.htm

paip.C#.net 懸浮窗口的創建總結 - attilax的專欄 博客頻道 - CSDN.NET.htm

 

paip.提高用戶體驗---c++ qt 懸浮窗實現 - attilax的專欄 博客頻道 - CSDN.NET.htm

相關文章
相關標籤/搜索