Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C++: Leikepöydälle kopiointi

arcatan [25.09.2005 19:43:52]

#

Tervehdys taasen! Mitenköhän mahtaisi onnistua X:n kanssa leikepöydälle kopiointi, kooditse siis? Tarkoitus olisi kopioida tietty tekstinpätkä ensisijaiselle leikepöydälle. Olen koittanut googlettaa, mutta huonolla menestyksellä.

Metabolix [25.09.2005 20:10:54]

#

En osaa itse onglemaan vastata, mutta luulisin, ettei esimerkiksi Klipper ole kovin suuri lähdekoodiltaan... (vinkki vinkki ;)

Ensimmäisistä Googlella löytämistäni lähteistä ymmärsin kuitenkin, että varsinaista leikepöytää ei ole, vaan se on vain samanlainen kuin muutkin X:n muuttujat ja ajanmyötä yleistynyt samalla nimellä joka paikkaan. Kaikki ohjelmat eivät nähtävästi vieläkään käytä sitä vaan omaa leikepöytäänsä.

arcatan [26.09.2005 07:51:15]

#

No itse asiassa X:ssä tuntuu olevan useampi leikepöydän tapainen juttu. Mitä nyt kuitenkin hain on tämä PRIMARY selection-systeemi. Onnistuin jopa xcutselin pohjalta moisen tekemään, mutta se oli sen verran hankala, että tyydyn käyttämään xseliä, joka itse asiassa sekin on xcutselin pohjalta kasattu.

panttu [26.09.2005 22:57:21]

#

wxWidgeteillä ainakin voisi onnistua
http://www.wxwindows.org/manuals/2.6.2/wx_clipsboard.html#clipsboard

ja samoin GTK:lla
http://www.gtk.org/api/2.6/gtk/gtk-Clipboards.html

Linkku [28.09.2005 16:48:06]

#

wxWidgetsillä kyllä onnistuu, tässä joskus kirjoittamani koodi.

void CopyTextToClipboard(wxString text) {
        if(wxTheClipboard->Open())
        {
                wxTheClipboard->SetData( new wxTextDataObject( text ) );
                wxTheClipboard->Flush();
                wxTheClipboard->Close();
        }
}

Tämmöinenkin löytyi jostain:

bool CopyTextToClipboard(wxString strVal)
{
    if (wxTheClipboard->Open()) {
        wxTheClipboard->SetData( new wxTextDataObject(strVal) );
        wxTheClipboard->Close();
        return true;
    } else {
        return false;
    }
}

Toisaalta tässä taidettiin hakea ohjeita juurikin X:ää varten...

BTW, pantun linkissä lukee: "These clipboard functions are implemented for Windows only. The use of these functions is deprecated and the code is no longer maintained. Use the wxClipboard class instead."

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta