?? c1853.html
字號:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"><HTML><HEAD><TITLE>拖放</TITLE><METANAME="GENERATOR"CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+"><LINKREL="HOME"TITLE="GTK+ 2.0 教程"HREF="book1.html"><LINKREL="PREVIOUS"TITLE="提供選中區"HREF="x1827.html"><LINKREL="NEXT"TITLE="屬性"HREF="x1875.html"></HEAD><BODYCLASS="CHAPTER"BGCOLOR="#FFFFFF"TEXT="#000000"LINK="#0000FF"VLINK="#840084"ALINK="#0000FF"><DIVCLASS="NAVHEADER"><TABLESUMMARY="Header navigation table"WIDTH="100%"BORDER="0"CELLPADDING="0"CELLSPACING="0"><TR><THCOLSPAN="3"ALIGN="center">GTK+ 2.0 教程</TH></TR><TR><TDWIDTH="10%"ALIGN="left"VALIGN="bottom"><AHREF="x1827.html"ACCESSKEY="P"><<< Previous</A></TD><TDWIDTH="80%"ALIGN="center"VALIGN="bottom"></TD><TDWIDTH="10%"ALIGN="right"VALIGN="bottom"><AHREF="x1875.html"ACCESSKEY="N">Next >>></A></TD></TR></TABLE><HRALIGN="LEFT"WIDTH="100%"></DIV><DIVCLASS="CHAPTER"><H1><ANAME="CH-DRAGANGDROP">拖放</H1><P>GTK+ 有一套高級的用來支持圖形程序之間通過拖放系統傳遞信息的函數。GTK+ 能在低級的 Xdnd 和 Motif 拖放協議基礎上實施拖放。</P><DIVCLASS="SECT1"><H1CLASS="SECT1"><ANAME="SEC-DRAGANDDROPOVERVIEW">概述</H1><P>一個支持 GTK+ 拖放的應用程序先要定義和設置能拖放的構件。每個構件都可以是拖放的來源端和/或目標端。注意這些構件必須有一個關聯的 X 窗口,用 GTK_WIDGET_NO_WINDOW(widget) 檢測。</P><P>源構件可以發送拖動數據,因此允許用戶把東西從它們上面拖出去,同時目標構件能接收拖動數據。拖放的目標端能限制它們接受誰的拖動數據,比如,同一應用程序或任意應用程序(包括它自己)。</P><P>發送和接收拖動數據是利用 GTK+ 信號來進行的。投放一個項到一個目的構件需要一個數據請求(源構件使用)和數據接收信號處理函數(目的構件使用)。還可以連接一些附加的信號處理函數,如果你想要知道何時拖動開始(在拖動開始的最初階段),何時投放成功,以及何時整個拖放過程完成(是否成功)。</P><P>當接收到請求時,你的應用程序將需要為源構件提供數據,還包括一個拖動數據請求信號處理函數。而對目的構件將需要一個拖動數據接收信號處理函數。</P><P>一個典型的拖放周期將像下面這樣:</P><P></P><OLTYPE="1"><LI><P> 拖動開始。</P></LI><LI><P> 拖動數據請求(當投放發生)。</P></LI><LI><P> 拖動數據被接收(可能在同一個應用程序內部或不同應用程序之間)。</P></LI><LI><P> 拖動數據被刪除(如果拖動是移動)。</P></LI><LI><P> 拖放過程完成。</P></LI></OL><P>在它們之間也有一些次要的步驟,但這些我們等下再作詳細介紹。</P></DIV></DIV><DIVCLASS="NAVFOOTER"><HRALIGN="LEFT"WIDTH="100%"><TABLESUMMARY="Footer navigation table"WIDTH="100%"BORDER="0"CELLPADDING="0"CELLSPACING="0"><TR><TDWIDTH="33%"ALIGN="left"VALIGN="top"><AHREF="x1827.html"ACCESSKEY="P"><<< Previous</A></TD><TDWIDTH="34%"ALIGN="center"VALIGN="top"><AHREF="book1.html"ACCESSKEY="H">Home</A></TD><TDWIDTH="33%"ALIGN="right"VALIGN="top"><AHREF="x1875.html"ACCESSKEY="N">Next >>></A></TD></TR><TR><TDWIDTH="33%"ALIGN="left"VALIGN="top">提供選中區</TD><TDWIDTH="34%"ALIGN="center"VALIGN="top"> </TD><TDWIDTH="33%"ALIGN="right"VALIGN="top">屬性</TD></TR></TABLE></DIV></BODY></HTML>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -