tk2ico {tcltk2}R Documentation

Manipulate icons under Windows

Description

Create, load and work with Windows icons. Change icons fo Windows, use icons in the taskbar under Windows 9X/2000/XP, ... These function are only useful for Windows.

Usage

  tk2ico.create(icofile)
  tk2ico.destroy(icon)
  tk2ico.hicon(icon)
  tk2ico.info(icon, convert = TRUE)
  tk2ico.load(file = "shell32.dll", res = "application")
  tk2ico.pos(icon, pos)
  tk2ico.set(win, icon, pos = NULL, type = c("all", "small", "big"))
  tk2ico.text(icon, text = NULL)
  tk2ico.taskbar.add(icon, pos = 0, text = tk2ico.text(icon), callback = NULL)
  tk2ico.taskbar.delete(icon)
  tk2ico.taskbar.modify(icon, pos = NULL, text = NULL)

Arguments

icofile A file with a .ico extension, containing one or more Windows icons
icon An icon object
convert Do we convert the result into a data.frame?
file A file having icon resources (.exe, or .dll)
res The name of the resource from where the icon should be extracted
pos A position (starting from 0) pointing to an icon in a multi-icon object
win A tk window whose icon is changed
type Do we change only the small, the large, or both icons?
text Change a text for an icon
callback Give a callback function called when the user clicks in the taskbar icon

Value

An icon object, which is a reference to an image resource in tcl. Do not forget to destroy it using tk2ico.destroy() when you do not need it any more!

Note

This is Windows-specific. It uses the winico 0.5 Tcl library. Under other platforms these functions just return NULL without error or warning. So, code that must run on different platforms could use these functions all the time, as soon as they correctly deal with possible NULL return.

Author(s)

Philippe Grosjean

See Also

tk2dde, tk2reg

Examples

  ## Not run: 
    ## These cannot be run by examples() but should be OK when pasted
    ## into an interactive R session with the tcltk package loaded

        ## Examples of tk2ico - icon manipulation under Windows
    tt2 <- tktoplevel()
    # Load a system icon (there are: "application", "asterisk", "error",
    # "exclamation", "hand", "question", "information", "warning", and "winlogo".
    Warn <- tk2ico.load(res = "warning")
    tk2ico.info(Warn)
    # Change the text
    tk2ico.text(Warn)
    tk2ico.text(Warn, "Warning icon")
    tk2ico.text(Warn)
    # Get hicon
    tk2ico.hicon(Warn)
    # Change the icon of my window tt2
    tk2ico.set(tt2, Warn)
    # Do not forget to destroy icon to free resource when not needed any more
    tk2ico.destroy(Warn)
    rm(Warn)
    # Load an icon from the resource section of an exe, or dll
    Rico <- tk2ico.load(file.path(Sys.getenv("R_HOME"), "bin", "R.exe"), res = "R")
    tk2ico.info(Rico)
    tk2ico.set(tt2, Rico)
    tk2ico.destroy(Rico)
    rm(Rico)

    # Load one or several icons from an .ico file
    libdir <- file.path(.path.package(package="tcltk2")[1], "etc")
    SVico <- tk2ico.create(file.path(libdir, "SciViews.ico"))
    # The various resolution icons created from this file
    tk2ico.info(SVico)
    # Change the default position to 1
    tk2ico.pos(SVico, 1)
    # Change only the small icon (use Alt-Tab to see the large one)
    tk2ico.set(tt2, SVico, pos = 0, type = "small")

    ### This does not work!
    ## Set a taskbar icon (rem: should use callback usually)
    #tk2ico.taskbar.add(SVico, pos = 0, text = "{my tcltk taskbar icon}")
    ## Change its text...
    #tk2ico.tackbar.modify(SVico, text = "{text changed!}")
    ##... and delete it
    #tk2ico.taskbar.delete(SVico)

    # Destroy the icons
    tk2ico.destroy(SVico)
    rm(SVico)

    # When done, dispose of the window
    tkdestroy(tt2)
  ## End(Not run)

[Package tcltk2 version 0.9-5 Index]