Zum Inhalt springen

aifl

Mitglieder
  • Gesamte Inhalte

    34
  • Benutzer seit

  • Letzter Besuch

Beiträge von aifl

  1. Hallo,

    ich habe eine Druckfunktion geschrieben, die eine große Tabelle auf mehrere Seiten verteilt und anschließend druckt. Die Tests auf mehreren Drucker liefen gut, bis auf einen HP... :confused:

    Die Überschirift, Fußzeile und vertikalen Ränder hatten falsche Größe (viel größer) Und das alles unabhängig vom Betriebssystem (Win98, 2000, XP)

    Hat jemand eine Idee aus welchem Grund sowas passieren kann?

    P.S. Der Druckertreiber ist der aktuellste. Die Entwicklungsumgebung: Visual Studio 6.0

    Gruß

    aifl

  2. Habe das Problem so gelöst:

    RemoveToolbarBtn(bool bRemove)
    {
    int index = m_wndToolBar.GetToolBarCtrl().CommandToIndex(ButtonID);
    index++; //Index des nach dem Button kommenden Separators
    if(bRemove){
    if( !m_wndToolBar.GetToolBarCtrl().IsButtonHidden(ButtonID) )
    {
    m_wndToolBar.GetToolBarCtrl().HideButton(ButtonID, true);
    if( m_wndToolBar.GetButtonStyle(index) == TBBS_SEPARATOR )
    m_wndToolBar.GetToolBarCtrl().DeleteButton(index);
    }
    }
    else{
    if( m_wndToolBar.GetToolBarCtrl().IsButtonHidden(ButtonID) )
    {
    m_wndToolBar.GetToolBarCtrl().HideButton(ButtonID, false);
    TBBUTTON tbb;
    tbb.fsStyle = TBSTYLE_SEP;
    tbb.fsState = TBSTATE_ENABLED;
    m_wndToolBar.GetToolBarCtrl().InsertButton(index,&tbb);
    }
    }
    }
    [/PHP]

    Gruß

    aifl :)

  3. Hallo,

    in meiner Anwendung verstecke ich bzw. zeige ein Button im Toolbar an. Und das funktioniert auch mit der Zeile:

    m_wndToolBar.GetToolBarCtrl().HideButton(ButtonID, bool)

    Da vor und nach dem Button ein vertikales Trennstrich steht, werden es nach dem Verstecken 2 Trennstriche.

    Wie kann ich einen Trennstrich "mitentfernen" bzw. "miterstellen"?

    Gruß

    aifl :)

  4. Gefunden! :)

    Die Stelle wo der Oberpunkt erstellt wird kommt folgendes:

    CMenu *pMenu = GetMenu();

    MenuStruct MenuStruktur;

    int iMenuSize = pMenu->GetMenuItemCount();

    CMenu NewPopupMenu;

    NewPopupMenu.CreatePopupMenu();

    HMENU hNewMenu = NewPopupMenu.GetSafeHmenu();

    pMenu->InsertMenu( m_iMenuPos, MF_BYPOSITION | MF_POPUP | MF_ENABLED, (UINT)hNewMenu, szMenu );

    iMenuSize++;

    NewPopupMenu.Detach();

    Ein schönes Wochenende!

    aifl :)

  5. Hallo,

    ich versuche in der Menüleiste ein neues Element einzubinden (wie "Datei") und anschließend mehrere Unterelemente (wie "Neu", "Öffnen" etc.)

    hier der Code:

    CMenu *pMenu = GetMenu();

    iPos = 3 // Kommt normalerweise als Übergabeparameter

    //Oberpunkt erstellen (z.B. Datei)

    pMenu->InsertMenu(iPos, MF_BYPOSITION, MF_SEPARATOR, "Datei");

    DrawMenuBar();

    //Anzahl aller Items ermitteln und nach der mit Beschriftung "Datei" suchen

    int iMenuSize = pMenu->GetMenuItemCount();

    for( int i = 0; i < iMenuSize; i++)

    {

    CString szTmp;

    pMenu->GetMenuString(i, szTmp, MF_BYPOSITION );

    if( szTmp == "Datei" )

    {

    //Und hier kriege ich keinen gültigen Handle! Wieso???

    CMenu* pSubmenu = pMenu->GetSubMenu(i);

    //Array mit Menüelementen

    int iMax = m_aMenuArray.GetSize();

    for (int a=0; a<iMax ;a++)

    {

    MenuStruktur = m_aMenuArray.GetAt(a);

    pSubmenu->InsertMenu(a, MF_BYPOSITION| MenuStruktur.uiMenuState, MenuStruktur.uiID, MenuStruktur.szText);

    }

    this->DrawMenuBar();

    }

    }

    aifl :(

  6. Hallo,

    ich habe eine MDI-Anwendung, auf der linken Seite ist ein Dialogfenster mit einer Baumstruktur (vom CTreeCtrl) und auf der rechten werden die durch ein Doppelklick geöffnenten Dateien angezeigt. Die Datei darf jeweils einmal dargestellt werden.

    Wenn die Datei im MDI-Fenster bereits existiert, soll das Fenster auf "aktiv" (blauer Rahmen) gesetzt werden. Wie mach ich das???

    CString szDatei = GetPathFromItem(hItem);

    CString szDocPfad = pDocument->GetPathName();

    DocPos = pDocTemplate->GetFirstDocPosition();

    BOOL bVorhanden = FALSE;

    while( DocPos != NULL)

    {

    pDocument = pDocTemplate->GetNextDoc(DocPos);

    if( szDocPfad == szDatei )

    {

    bVorhanden = TRUE;

    //MessageBox("Die Datei ist bereits offen!");

    pDocument->UpdateAllViews(NULL); // Hier will ich das Fenster auf aktiv setzen

    break;

    }

    }

    if( bVorhanden == FALSE )

    {

    pDocTemplate->OpenDocumentFile( szDateiname );

    }

    aifl:confused:

  7. Hallo,

    habe auch eine Frage zum Baum, wenn ich Items in Form von Dateien hinzufüge erscheinen sie alle mit "+" Zeichen,

    CFileFind fd;

    CTreeCtrl* pTree;

    childhitem = pTree->InsertItem ( fd.GetFileName( ), 1, 1, hParentItem ) ;

    pTree->InsertItem ( "", 0, 0, childhitem ) ;

    als wären sie Ordner mit Unterordner. Nach dem Klick geht das + Zeichen weg.

    Es muss doch möglich sein beim if ( !fd.IsDirectory() ) zu entscheiden wie es dargestellt werden soll oder?

    aifl

  8. Hallo,

    ich habe 2 Bilder im Visual Studio hochgeladen und will zuerst einfach je nach Knopfdruck entsprechendes Bild im Dialog anzeigen lassen. In meinem Dialog gibt es 2 Picture-Rahmen (vom Panel Controls) Und in den properties steht:

    ID: IDB_BITMAP1, Type: Bitmap, Image IDB_BITMAP1

    ID: IDB_BITMAP2, Type: Bitmap, Image IDB_BITMAP2

    dann gibt´s noch 2 Buttons:

    void CBilderChangeDlg::OnButton1()

    {

    CBitmap bmp;

    bmp.LoadBitmap(IDB_BITMAP1);

    }

    void CBilderChangeDlg::OnButton2()

    {

    CBitmap bmp;

    bmp.LoadBitmap(IDB_BITMAP2);

    }

    Wenn ich das Programm starte, werden beide Bilder geladen. Unabhängig davon ob man die Buttons drückt oder nicht, sogar dann wenn ich den Inhalt der Funktionen auskommentiere.

    Das heist also die Bilder laden sich (oder werden nur sichtbar?) durch die properties-Einstellung "Visible"

    Wie kann man aber das Problem lösen?

    aifl :)

  9. Jetzt erstellt er mir neue Zeile (lag am Edit) und schreibt auch die Zeit rein, nur mit PNR kriege ich immernoch Probleme. Beim Zuweisen olevar_PNR.intVal=iPNR zeigt mir Debugger {-21092 VT_I2} und schreibt auch schließlich -21092 in Feld "PNR" rein. Habe versucht mit olevar_PNR=(short) iPNR; - war dasselbe Ergebnis. Kapiere nicht wieso...

    {

    COleVariant olevar_PNR, olevar_Zeit;

    int iPNR=atoi(p_Mitarbeiter->strPNR);

    olevar_PNR.vt=VT_I2;

    olevar_PNR.intVal=iPNR;

    COleDateTime time;

    p_rs->MoveLast();

    time.ParseDateTime(p_Mitarbeiter->strZeit); olevar_Zeit = time;

    if (p_rs->CanUpdate()!=NULL)

    {

    p_rs->AddNew();

    p_rs->SetFieldValue("Zeitpunkt",time);

    p_rs->SetFieldValue("PNR",olevar_PNR);

    p_rs->Update();

    }

    }:confused:

  10. Hi Leute,

    Es gibt eine Accessdatei. Ich will mit MFC ein neues Feld erzeugen (AddNew), dahin PersonalNr und die Zeit reinschreiben (p_Mitarbeiter->strPNR und p_Mitarbeiter->strZeit) nach dem Ausführen wird beim letzten Eintrag (der schon vorher existierte) im Feld "PNR" die PersonalNr weg (leeres Feld) und im Feld "Zeit" meine neue Zeit, die ich eigentlich im neuen Feld haben wollte. Könnte mir das jemand erklären?

    CQuelldatei::PNR_Anlegen(struct Personalien *p_Mitarbeiter, CDaoRecordset *p_rs)

    {

    COleVariant olevar_PNR, olevar_Zeit;

    p_rs->MoveLast();

    int iPNR=atoi(p_Mitarbeiter->strPNR);

    olevar_PNR.intVal=iPNR;

    COleDateTime time;

    time.ParseDateTime(p_Mitarbeiter->strZeit); olevar_Zeit = time;

    p_rs->AddNew();

    p_rs->Edit();

    p_rs->SetFieldValue("PNR",olevar_PNR);

    p_rs->SetFieldValue("Zeitpunkt",time);

    p_rs->Update();

    }

    Danke im voraus!

    aifl

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...