亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 3982 | 回復: 4
打印 上一主題 下一主題

gtk 如何實現控件拖動 [復制鏈接]

論壇徽章:
0
跳轉到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2011-05-11 14:11 |只看該作者 |倒序瀏覽
本帖最后由 qfmeal 于 2011-05-11 14:14 編輯

我想實現這樣的功能:
在fixed里面放置一個人button,用鼠標點擊button后不松,能拖著這個button在fixed里面移動。

1111111.jpg (19.92 KB, 下載次數: 37)

1111111.jpg

論壇徽章:
0
2 [報告]
發(fā)表于 2011-05-11 16:07 |只看該作者
沒有人知道嗎?

有想法,給個提示也好 ……

論壇徽章:
0
3 [報告]
發(fā)表于 2011-05-12 17:08 |只看該作者
沒接觸過GTK
有沒有l(wèi)ocation一類的方法或屬性
先捕捉mouseDown事件

論壇徽章:
0
4 [報告]
發(fā)表于 2011-05-12 18:09 |只看該作者
g_signal_connect(GTK_OBJECT(button), "button-press-event", G_CALLBACK (test_button_press), NULL);
        g_signal_connect(GTK_OBJECT(button), "button_release_event", G_CALLBACK(test_on_release_event), (gpointer)(_WINDOW));
        g_signal_connect(GTK_OBJECT(button), "motion-notify-event", G_CALLBACK(test_motion_notify), NULL);


gboolean test_on_release_event(GtkWidget *widget, GdkEventButton *event, gpointer type)
{
        g_print("release button\n");
       
        return TRUE;
}

gboolean test_button_press(GtkWidget *widget, GdkEvent *event, gpointer data)
{
        g_object_set_data(G_OBJECT(widget), "pressed", (gpointer)(1));

        return TRUE;
}

gboolean test_motion_notify(GtkWidget *widget, GdkEvent *event, gpointer data)
{
        GtkAllocation allocation;

        gint pressed;

        pressed = (gint)g_object_get_data (G_OBJECT(widget), "pressed");

#if GTK_MINOR_VERSION >= 18
        gtk_widget_get_allocation (widget, &allocation);
#else
        allocation = widget->allocation;
#endif

                button_hposition = allocation.x;
        button_vposition = allocation.y;

        if(pressed)
        {
                gtk_fixed_move(GTK_FIXED(fixed), widget, button_hposition, button_vposition);
        }

        return TRUE;
}

論壇徽章:
0
5 [報告]
發(fā)表于 2011-05-31 17:12 |只看該作者
回復 4# fengtom_lcdtv


    前段時間比較忙,沒有來得及開貼。
用了你的代碼,還是沒有實現控件移動,有更好的辦法嗎?
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復

  

北京盛拓優(yōu)訊信息技術有限公司. 版權所有 京ICP備16024965號-6 北京市公安局海淀分局網監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關心和支持過ChinaUnix的朋友們 轉載本站內容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP