⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sec-settingtextandpixmapsinthecells.html

📁 gtk 开发手册和参考文档。 包括gtk glib gdk等
💻 HTML
字号:
<HTML><HEAD><TITLE>Setting text and pixmaps in the cells</TITLE><METANAME="GENERATOR"CONTENT="Modular DocBook HTML Stylesheet Version 1.49"><LINKREL="HOME"TITLE="GTK+ 1.2 Tutorial"HREF="gtk-tut.html"><LINKREL="UP"TITLE="CList Widget"HREF="ch-clistwidget.html"><LINKREL="PREVIOUS"TITLE="Adding rows to the list"HREF="sec-addingrowstothelist.html"><LINKREL="NEXT"TITLE="Storing data pointers"HREF="sec-storingdatapointers.html"></HEAD></head><body bgcolor="#FFFFFF" marginheight=0 marginwidth=0 width="100%"><table cellspacing=6 border=0 cellpadding=0 width="100%">  <tr>    <td bgcolor="#FFFFFF" valign=top nowrap>    <centeR><A HREF="/"><img src="/images/gtk-logo-rgb.gif" width=107 height=140 border=0></A>      <font face="helvetica,lucidia" color="#000000"><BR><BR><b>GTK+<BR>The GIMP Toolkit</b></center><BR><table width=100% cellspacing=0 cellpadding=2 border=0><tr><td bgcolor="#000000"><table width=100% cellspacing=0 cellpadding=4 border=0><tr><td bgcolor="#AAAAEE" nowrap><B>General</B></td></tr><tr><td bgcolor="#FFFFFF" nowrap><A HREF="/">Introduction</A><BR><A HREF="/screenshots/">Screenshots</A><br><A HREF="/download/">Download</A><br><A HREF="/mailinglists.html">Mailing Lists</A><BR><A HREF="/bindings.html">Language Bindings</A><BR><A HREF="http://gtk.themes.org/">Themes</A><BR><A HREF="/bugs.html">Bug Tracker</A><BR></td></tr></table></td></tr></table><BR>  <table width=100% cellspacing=0 cellpadding=2 border=0><tr><td bgcolor="#000000"><table width=100% cellspacing=0 cellpadding=4 border=0><tr><td bgcolor="#AAAAEE" nowrap><B>Documentation</B></td></tr><tr><td bgcolor="#FFFFFF" nowrap><A HREF="/faq/">FAQ</A><br><A HREF="/tutorial/">Tutorial</A><BR><A HREF="/api/">API Reference</A><br><A HREF="/books.html">Published Books</A><BR></td></tr></table></td></tr></table><BR>  <table width=100% cellspacing=0 cellpadding=2 border=0><tr><td bgcolor="#000000"><table width=100% cellspacing=0 cellpadding=4 border=0><tr><td bgcolor="#AAAAEE" nowrap><B>Projects</B></td></tr><tr><td bgcolor="#FFFFFF" nowrap><A HREF="http://www.pango.org/">Pango</A><BR><A HREF="http://sources.redhat.com/inti/">Inti</A><BR><A HREF="http://www.gnome.org/">GNOME</A><BR><A HREF="http://user.sgic.fi/~tml/gimp/win32/">GTK+ for Win32</A><br><A HREF="http://people.redhat.com/sopwith/gtkfb/">GtkFB (Framebuffer)</A><br><A HREF="http://www.directfb.org/gtk.xml">GTK+ on DirectFB</A><BR><A HREF="/beos/">GTK+ for BeOS</A></td></tr></table></td></tr></table><BR>  <table width=100% cellspacing=0 cellpadding=2 border=0><tr><td bgcolor="#000000"><table width=100% cellspacing=0 cellpadding=4 border=0><tr><td bgcolor="#AAAAEE" nowrap><B><B>Applications</B></B></td></tr><tr><td bgcolor="#FFFFFF" nowrap><A HREF="http://www.gimp.org/">GIMP</A><BR><A HREF="http://www.abiword.org/">Abiword</A><BR><A HREF="http://www.lysator.liu.se/~alla/dia/dia.html">Dia</A><BR><A HREF="http://glade.pn.org/">Glade</A><BR><A HREF="http://www.gnucash.org/">GnuCash</A><BR><A HREF="http://www.gnome.org/projects/gnumeric/">Gnumeric</A><BR><BR><A HREF="http://www.gnome.org/applist/">GNOME Software Map</A><br></td></tr></table></td></tr></table><BR>      </td>  <td bgcolor="#ffffff" valign=top width="99%"><font face="lucida,helvetica"><BODYCLASS="SECT1"BGCOLOR="#FFFFFF"TEXT="#000000"LINK="#0000FF"VLINK="#840084"ALINK="#0000FF"><DIVCLASS="NAVHEADER"><TABLEWIDTH="100%"BORDER="0"CELLPADDING="0"CELLSPACING="0"><TR><THCOLSPAN="3"ALIGN="center">GTK+ 1.2 Tutorial</TH></TR><TR><TDWIDTH="10%"ALIGN="left"VALIGN="bottom"><AHREF="sec-addingrowstothelist.html">&#60;&#60;&#60; Previous</A></TD><TDWIDTH="80%"ALIGN="center"VALIGN="bottom">Chapter 11. CList Widget</TD><TDWIDTH="10%"ALIGN="right"VALIGN="bottom"><AHREF="sec-storingdatapointers.html">Next &#62;&#62;&#62;</A></TD></TR></TABLE><HRALIGN="LEFT"WIDTH="100%"></DIV><DIVCLASS="SECT1"><H1CLASS="SECT1"><ANAME="SEC-SETTINGTEXTANDPIXMAPSINTHECELLS">11.6. Setting text and pixmaps in the cells</A></H1><P>A cell can contain a pixmap, text or both. To set them the followingfunctions are used.</P><TABLEBORDER="0"BGCOLOR="#E0E0E0"WIDTH="100%"><TR><TD><PRECLASS="PROGRAMLISTING">void gtk_clist_set_text( GtkCList    *clist,                         gint         row,                         gint         column,                         const gchar *text );void gtk_clist_set_pixmap( GtkCList  *clist,                           gint       row,                           gint       column,                           GdkPixmap *pixmap,                           GdkBitmap *mask );void gtk_clist_set_pixtext( GtkCList  *clist,                            gint       row,                            gint       column,                            gchar     *text,                            guint8     spacing,                            GdkPixmap *pixmap,                            GdkBitmap *mask );</PRE></TD></TR></TABLE><P>It's quite straightforward. All the calls have the CList as the firstargument, followed by the row and column of the cell, followed by thedata to be set. The <TTCLASS="LITERAL">spacing</TT> argument in gtk_clist_set_pixtext isthe number of pixels between the pixmap and the beginning of thetext. In all cases the data is copied into the widget.</P><P>To read back the data, we instead use</P><TABLEBORDER="0"BGCOLOR="#E0E0E0"WIDTH="100%"><TR><TD><PRECLASS="PROGRAMLISTING">gint gtk_clist_get_text( GtkCList  *clist,                         gint       row,                         gint       column,                         gchar    **text );gint gtk_clist_get_pixmap( GtkCList   *clist,                           gint        row,                           gint        column,                           GdkPixmap **pixmap,                           GdkBitmap **mask );gint gtk_clist_get_pixtext( GtkCList   *clist,                            gint        row,                            gint        column,                            gchar     **text,                            guint8     *spacing,                            GdkPixmap **pixmap,                            GdkBitmap **mask );</PRE></TD></TR></TABLE><P>The returned pointers are all pointers to the data stored within thewidget, so the referenced data should not be modified or released. Itisn't necessary to read it all back in case you aren't interested. Anyof the pointers that are meant for return values (all except theclist) can be NULL. So if we want to read back only the text from acell that is of type pixtext, then we would do the following, assumingthat clist, row and column already exist:</P><TABLEBORDER="0"BGCOLOR="#E0E0E0"WIDTH="100%"><TR><TD><PRECLASS="PROGRAMLISTING">gchar *mytext;gtk_clist_get_pixtext(clist, row, column, &#38;mytext, NULL, NULL, NULL);</PRE></TD></TR></TABLE><P>There is one more call that is related to what's inside a cell in theclist, and that's</P><TABLEBORDER="0"BGCOLOR="#E0E0E0"WIDTH="100%"><TR><TD><PRECLASS="PROGRAMLISTING">GtkCellType gtk_clist_get_cell_type( GtkCList *clist,                                     gint      row,                                     gint      column );</PRE></TD></TR></TABLE><P>which returns the type of data in a cell. The return value is one of</P><TABLEBORDER="0"BGCOLOR="#E0E0E0"WIDTH="100%"><TR><TD><PRECLASS="PROGRAMLISTING">  GTK_CELL_EMPTY  GTK_CELL_TEXT  GTK_CELL_PIXMAP  GTK_CELL_PIXTEXT  GTK_CELL_WIDGET</PRE></TD></TR></TABLE><P>There is also a function that will let us set the indentation, bothvertical and horizontal, of a cell. The indentation value is of typegint, given in pixels, and can be both positive and negative.</P><TABLEBORDER="0"BGCOLOR="#E0E0E0"WIDTH="100%"><TR><TD><PRECLASS="PROGRAMLISTING">void gtk_clist_set_shift( GtkCList *clist,                          gint      row,                          gint      column,                          gint      vertical,                          gint      horizontal );</PRE></TD></TR></TABLE></DIV><DIVCLASS="NAVFOOTER"><HRALIGN="LEFT"WIDTH="100%"><TABLEWIDTH="100%"BORDER="0"CELLPADDING="0"CELLSPACING="0"><TR><TDWIDTH="33%"ALIGN="left"VALIGN="top"><AHREF="sec-addingrowstothelist.html">&#60;&#60;&#60; Previous</A></TD><TDWIDTH="34%"ALIGN="center"VALIGN="top"><AHREF="gtk-tut.html">Home</A></TD><TDWIDTH="33%"ALIGN="right"VALIGN="top"><AHREF="sec-storingdatapointers.html">Next &#62;&#62;&#62;</A></TD></TR><TR><TDWIDTH="33%"ALIGN="left"VALIGN="top">Adding rows to the list</TD><TDWIDTH="34%"ALIGN="center"VALIGN="top"><AHREF="ch-clistwidget.html">Up</A></TD><TDWIDTH="33%"ALIGN="right"VALIGN="top">Storing data pointers</TD></TR></TABLE></DIV>        </td>    </tr></table>  </td>  </tr></table></body></BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -