mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.programmare.win32
Titolo: Vero esperto di thread cercasi!!!

Proprio cosě...
cerco qualcuno che mi possa indicare il modo migliore di gestire un thread
che, leggendo dati provenienti da una porta di comunicazione (ma questo e'
un dettaglio), aggiorni delle form diverse (cioe' mentre io passo da una
finestra all'altra del mio applicativo). Il problema sta nel fatto che se il
thread non vede la form (o perche' la chiudo mentre la sta aggiornando o la
apro troppo tardi) mi viene dato un access violation. Grazie a chiunque
abbia qualche idea buona. (ora come ora gestisco l'evento OnCreate per
essere sicuro che la finestra sia presente e OnDestroy per interrompere
l'aggiornamento, perň ciň non e' abbastanza in quanto alle volte accade che
parta troppo presto ad aggiornare, come se l'evento OnCreate avvenisse
troppo presto...oppure succede che l'On destroy parta subito dopo che la
subroutine di aggioranmento sia partita....in entrambi i casi viene dato un
errore!!!!).
Grazie a chiunque abbia un'idea buona (non ditemi di usare dei timer!!!)
Max

 ha scritto nel messaggio
news:96378206...@spyke.goldnet.it...


 wrote in message
8l1k3b$gia$1...@news.IT.net...


 Mi sapresti dire come funziona una critical section (a grandi linee)?
A grandi linee: se un thread di un processo chiama EnterCriticalSection
su di una cs, ne diviene temporaneamente padrone sinche` non chiamera`
poi LeaveCriticalSection sulla stessa.  Se in questo lasso di tempo
un altro thread dello stesso processo chiama EnterCriticalSection
sulla stessa cs, sospendera` indefinitamente l'esecuzione sinche`
l'altro non ha chiamato la LeaveCriticalSection su di essa.
Riassumendo, e` garantito che un solo thread (di un processo) alla
volta e` padrone di una data cs.  E` il costrutto piu` leggero ed
efficiente per la sincronizzazione in Win32, benche` limitato in
vari modi (nessuna sincronizzazione fra thread di processi diversi,
nessuna possibilita` di timeout durante l'attesa o di verificare
se la cs e` occupata senza necessariamente bloccarsi, ecc, ecc).
Se la sua semantica limitata e` sufficiente, e` per ragioni di
efficienza il costrutto giusto da usare.  Se no, meglio i mutex,
analoghi, meno rapidi, piu` potenti.  O altri costrutti ancora.
Alex

 wrote in message
8l2ghi$10o$1...@nslave1.tin.it...


 formattare il disco? :))
Ho sentito che i nuovi Maxtor da 80 giga funzionano assai bene...
Alex
Newsgroup: it.comp.programmare.win32
Titolo: DLL

Ciao a tutti
volevo sapere se c'era qualcuno con esperienza nella creazione di DLL.
In caso affermativo, sapresti dirmi da che parte incominciare? C'č un buon
manuale in commercio o on line?
Grazie mille.
------------------------------------------------------------------------2001
: A Space Odyssey
 Web Site: 
http://web.tiscalinet.it/spaceodyssey/
 E-Mail Address: 
spaceo...@tiscalinet.it
 ICQ: 26814679

 Grazie mille.
basta come sempre poco lavoro e tanta buona volontà
una funzione entry:
int APIENTRY DllMain( HANDLE hdll,
                           DWORD  reason,
                           LPVOID reserved )
     {
         switch( reason ) {
         case DLL_THREAD_ATTACH:
             /* do thread initialization */
             break;
         case DLL_THREAD_DETACH:
             /* do thread cleanup */
             break;
         case DLL_PROCESS_ATTACH:
             /* do process initialization */
             break;
         case DLL_PROCESS_DETACH:
             /* do process cleanup */
             break;
         }
         return( 1 );        /* indicate success */
         /* returning 0 indicates initialization failure */
     }
e indicare in modo speciale le procedure che esporti. e dai tuoi programmi. Io
solitamente uso una sintassi (da mettere nell'header):
#undef DLLEXTERN
#ifdef _USRDLLnnnn
#define DLLEXTERN __declspec(dllexport)
#else
#define DLLEXTERN __declspec(dllimport)
#endif
Anche se devo definire nel progetto della DLL una definizione _USRDLLnnnn (ma è
comoda quando devo poi importare da altre mie DLL) e poi puoi definire il
prototipo e la procedura allo stesso modo.
esempio di procedura DLL:
nell'header
DLLEXTERN HRESULT CreateDataPerformance(parametri che passi);
e nel programma
DLLEXTERN HRESULT CreateDataPerformance(parametri che passi)
{
codice vario ed eventuale
return 0;
}
Ok! è un caos.
Newsgroup: it.comp.programmare.win32
Titolo: Problema con i Thread

Salve, ho questo problema: In Visual C++6 usando le MFC, ho creato un form
con un Bottone e due CEdit.
Quando clikko sul bottone, parte un thread che esegue una serie di
operazioni. Il problema è che vorrei cambiare il testo delle CEdit in
relazione alle operazioni che sta compiendo il thread, ma da questo non
riesco ad accedere agli oggetti CEdit.
Il programma è di tipo Dialog Based.
Come posso fare?
Grazie


Puoi passare alla funzione del thread (è un worker thread ?) un puntatore
alla dialog (attraversoil parametro LPVOID lParam).
Ciao
Porlock


Ho provato cosě, ma nulla:
void mail(CAdo_defDlg* app)
{
 app->m_Edit_Stato.SetWindowText("CIAO");
}
void CAdo_defDlg::cmail()
{
 CAdo_defDlg *app = new CAdo_defDlg ();
 if (!thread1 ){thread1 = CreateThread (NULL, 0,
(LPTHREAD_START_ROUTINE )mail, app ,0,&tID1); }
 else { ::ResumeThread (thread1);
}
ado_def č il nome della Dialog.
m_Edit_Stato č un oggetto di tipo CEdit che sta nella Form iniziale.
Il thread č Worker.
Qualche altro suggerimento?


Io piuttosto useri il puntatore this all'istanza attuale:
 if (!thread1 ){thread1 = CreateThread (NULL, 0,
(LPTHREAD_START_ROUTINE )mail,   this   ,0,&tID1); }
 else { ::ResumeThread (thread1);
Prova cosě.
Porlock.


Acc!...mi ero dimenticato del puntatore this, lo avevo escluso perchč
all'interno del thread non si puň usare, ma fuori non ci avevo proprio
pensato!!
Grazie mille!
:-P
Newsgroup: it.comp.programmare.win32
Titolo: Ambiente sviluppo gestionale

 
ciao a tutti
- mi hanno chiesto di sviluppare un gestionale 
- ho bisogno di un db per i dati
- deve creare dei report in pdf
- deve essere distribuito alle associazioni su CD-Rom che poi loro stesse
dovrebbero provvedere ad installarlo nei loro Pc
 
Non tutte le associazioni hanno la connessione ad internet, per cui in un
primo momento avevo pensato all'ipotesi di creare un db in internet al
quale loro si potessero collegare, ma quindi non è fattibile
 
io ho sempre sviluppato con WAMP (php e MySQL in ambiente Windows), ma ora
questo è un problema, infatti la procedura di installazione di XAMPP in
locale che le associazioni dovrebbero fare risulterebbe troppo
complicata...
 
Esite una specie di WAMP installabile da CDROM senza troppe complicazioni? 
 
Alla fine credo che debba essere un software desktop con un dbms.
 
oppure devo per forza considerare java, 
vb.net
 o c#? e in questo caso che
DBMS potrei usare? MSAccess? ma ci vuole una licenza anche se mi
basterebbe solo il DB (gestito dall'applicazione)?
 
Voi che consigliate?
 
ciao e grazie
Ale
 
-- 
 
 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it
 
 
 


 
In ambito Windows, hai diverse possibilità:
- MS Visual Studio in versione Express + SQL Server sempre in versione 
Express. Costo licenza: 0. Alcune limitazioni nello sviluppo ed in fase 
di installazione dell'applicazione (attenzione alla licenza d'uso del 
programma che svilupperai). In base al linguaggio che userai (VB, C#, 
F#, C++), ci saranno delle librerie che andranno installate (.NET o 
VC++) in fase di installazione presso l'utente finale.
- MS Visual Studio Professional + Abbonamento MSDN: è un vero 
investimento. Ha un costo non proprio basso, ma potresti fare un piano 
di rientro delle spese (ammesso che tu venga pagato per questo lavoro!), 
sfruttando VS anche per altri progetti. Produrresti un progetto completo 
ed autonomo (sw, librerie e quant'altro), con la licenza che più ti aggrada.
- Java: usando Javadb o HyperSQLDB puoi creare un progetto completo; 
strumenti come NetBeans ti semplificano molto la vita.
- Tools open-source: ce ne sono a iosa. Qt, wxWindows, SQLite, Firebird, 
Python, Mysql, Postgresql, GTK+... Dipende da quanta voglia di sbatterti 
hai. Nel mondo open-source niente è completo al 100% e non esiste un 
manuale omnicomprensivo, quindi ci si deve un poco arrangiare. La 
soluzione migliore sarebbe (Qt OR wxWindows OR GTK+) AND (SQLite OR 
Firebird).
 
Escluderei MSAccess, che obbligherebbe gli utenti all'acquisto della 
licenza. Ci sarebbe la versione open-source (OpenOffice Data), ma non 
credo sia paragonabile ad Access).
 
La generazione di report in PDF la faresti installando una stampante PDF.
 
Tutto questo IMHO.
 

grazie davvero!
 
ciao

Newsgroup: it.comp.programmare.win32
Titolo: Secondo voi?

Non capisco quale sia il problema di questo pezzetto di codice:
PRINTDLG
pDlg;pDlg.lStructSize=sizeof(PRINTDLG);if(AfxGetApp()->GetPrinterDeviceDefau
lts(&pDlg)){pDlg.Flags|=PD_PRINTSETUP;PrintDlg(&pDlg);}Il programma va in
crash senza una ragione apparente!Questo, invece, trovato tra gli esempi di
m$dnPRINTDLG pd;
HWND hwnd;
// Initialize PRINTDLG
ZeroMemory(&pd, sizeof(PRINTDLG));
pd.lStructSize = sizeof(PRINTDLG);
pd.hwndOwner   = hwnd;
pd.hDevMode    = NULL;     // Don't forget to free or store hDevMode
pd.hDevNames   = NULL;     // Don't forget to free or store hDevNames
pd.Flags       = PD_USEDEVMODECOPIESANDCOLLATE | PD_RETURNDC;
pd.nCopies     = 1;
pd.nFromPage   = 0xFFFF;
pd.nToPage     = 0xFFFF;
pd.nMinPage    = 1;
pd.nMaxPage    = 0xFFFF;
if (PrintDlg(&pd)==TRUE)
{
    // GDI calls to render output.
    // Delete DC when done.
    DeleteDC(pd.hDC);
}non fa un benemerito ca%%o!Sapreste dirmi perchč?

 }non fa un benemerito ca%%o!Sapreste dirmi perchč?
non fa niente? mava', impossibile! deve mostrare la finestra PrintDlg!
forse lo hai messo nel contesto sbagliato, o forse non hai inizializzato
hwnd.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it


No, tutto in regola :'(
Ho provato un altra strada e questa funge, per fortuna!
Lavorare con VC è un vero e proprio calvario grazie anche alla "ricca"
documentazione fornita dalla Micro$oft!
Ah, ho risolto così:
 LPDEVMODE pDevMode =(LPDEVMODE) ::GlobalLock(pDlg.hDevMode);
 LPDEVNAMES pDevNames =(LPDEVNAMES) ::GlobalLock(pDlg.hDevNames);
    // Assicuriamoci di non creare un nuovo DV
    printDialog.m_pd.Flags &= ~PD_RETURNDC;
    // Forziamo il dialog ad utilizzare DevMode e DevNames di sistema
    printDialog.m_pd.hDevMode  = CopyHandle(pDevMode);
    printDialog.m_pd.hDevNames = CopyHandle(pDevNames);
 if(printDialog.DoModal()==IDOK)
 {
  LPDEVMODE userDevMode=printDialog.GetDevMode();
  memcpy(pDevMode,printDialog.GetDevMode(),sizeof(DEVMODE));
  memcpy(pDevMode->dmDeviceName,userDevMode->dmDeviceName,CCHDEVICENAME);
  memcpy(pDevMode->dmFormName,userDevMode->dmFormName,CCHFORMNAME);
  m_labelNomeStampante=pDevMode->dmDeviceName;
  m_labelPercorso=(char *)pDevNames+pDevNames->wOutputOffset;
  m_labelFormatoCarta=pDevMode->dmFormName;
  UpdateData(FALSE);
 }
 ::GlobalUnlock(pDlg.hDevMode);
 ::GlobalUnlock(pDlg.hDevNames);
è un (bel) po' rozzo ma l'importante è che funga! Siamo sotto scadenza! ;)
Ciao e grazie!
Newsgroup: it.comp.programmare.win32
Titolo: [?] ASP... Come?

Salve a tutti...
devo iniziare a sviluppare un sito web per acquisti on-line e mi č stato
chiesto di sviluppare con pagine ASP. Mi hanno detto che č la stessa cosa
che programmare in Visual Basic. Io ho installato personal web server e
visual interdev, solo che con interdev non mi sembra di averci capito un
granchč... qualcuno di buon cuore saprebbe darmi un consiglio ? "Da dove
inizio ?"
grazie mille per l'attenzione
--
Salutoni da Luke...
---------------------------------------
Togliere le X dall'indirizzo per rispondere
.
.


Dal libro ASP 2.0 Professional, della Wrox  Press.
Poi prova a leggere it.comp.www.asp e tutti i newsgroup di microsoft.
Visual Interdev e' un prodotto un pelino avanzato per imparare.
Inoltre un buo editor tipo notepad e' sempre il migliore
rimedio per la complicazione degli IDE, quando no si sa cosa
si debba varamente fare.
--== Sent via Deja.com 
http://www.deja.com/
 ==--
---Share what you know. Learn what you don't.---
Newsgroup: it.comp.programmare.win32
Titolo: sequencer midi. che timer usare?

ciao a tutti.
devo fare un piccolo sequencer/editor MIDI.
ora mi sto occupando di come gestire la riproduzione del pezzo.
dato che i cambiamenti (aggiunta/modifica/eliminazione) delle note devono
avvenire in real time, anche in riproduzione, devo usare le funzioni
midiOutMessage e midiOutLongMsg.
dato che voglio avere una risoluzione di almeno 1/64 di battuta mi serve un
timel con una risoluzione abbastanza alta.
quale mi consigliate di usare?
grazie
ciao :: xaero

Non so esserti di aiuti, ma forse tu sě: sai leggere il formato dei file
MIDI?
Grazie

 wrote in message
news:9oto1u$f1qil$1...@ID-51253.news.dfncis.de...

Di solito bisogna farlo con un Interrupt di un timer timeSetEvent() con una
callback, ed usare la funzione timeGetTime() della mmsystem nella callback
per sincronizzare con il tempo vero. Funziona bene in win16, ma sotto win32
avrai dei problemi perche' un processo puo' essere interrotto per piu' di
20msec (e la musica zoppica forte se il sistema fa qualcos'altro).
La cosa migliore nel tuo caso e usare lo midi streaming del windows,
utilizzando dei pezzetini brevi che mandi alla midiStreamOut. Se fai una
manipulazione ai dati midi avrai un minimo di ritardo (dipende dalla
lunghezza del buffer usato), ma almeno non hai piu tu la responsabilita' di
dover sincronizzare a tempo gli eventi.
Dopo aver processato un buffer il sistema ti manda un bel messaggio e devi
fornire il prossimo buffer (mentre windows processa gia' un altro buffer che
hai fornito prima, [parola chiave double buffering]).
Un metodo piu difficile e scrivere un driver a cui puoi assegnare la
priorita' realtime, cosi non hai problemi di timing e puoi usare le funzioni
che ha proposto. Ma non e' una roba cosi facile.
Saluti
Jurgen

 MIDI?
http://www.neutralzone.org/home/faqsys/docs/mid-frm1.txt

nel mio SDK, sotto Multimedia - Input, parlano di un particolare tipo di
timer che chiamano MultimediaTimer  (timeSetEvent e' una delle funzioni per
avviarlo, ma prima bisogna settare alcuni parametri)
nella documentazione dicono che sono i timer con le migliori prestazioni
disponibili da windows (creati apposta per gestire app. multimediali, che
richedono alte prestazioni), di usarli con cautela, ecc. ec..
prova a darci un'occhiata... magari ti risolvono il problema
ciao

ha, dimeticavo, oltre alla velocita', darebbero anche una maggiore
precisione nella chiamata della funzione callback... quindi, probabilmente,
non risentono di -scaricamenti su hd di pagine di memoria - o rotture simili
mah... ciao

 wrote in message
news:6TOs7.98344$dJ3.6...@news1.tin.it...

Purtroppo dipende dal sistema che usi, e sotto win32 il
paging lo rompe molto se l'applicazione non ha priorita' privileggiata.
Anche altri serivizi 'molto' hardware interrompono, non per molto ma
sensibilmente forte.
Newsgroup: it.comp.programmare.win32
Titolo: Ottenere numero di serie della CPU

  è possibile ottenere il numero di serie della CPU ?
Ma l'Intel non l'ha disattivato dopo le tante (e giustificate) opposizioni?
Kiuhnm

 è possibile ottenere il numero di serie della CPU ?
AFAIK, non esiste piu'.
--------------------------------
Inviato via 
http://usenet.libero.it


inline QWORD MAKEQWORD(DWORD h, DWORD l)
{
 QWORD q;
 *(((DWORD*)&q)+0) = l;
 *(((DWORD*)&q)+1) = h;
 return q;
}
inline QWORD CPUID()
{
 DWORD lo = 0;
 DWORD hi = 0;
 __asm
 {
  pusha
  mov eax,3
  cpuid
  mov hi,edx
  mov lo,ecx
  popa
 }
 return MAKEQWORD(hi,lo);
}
Comunque funziona solo per Pentium2 e Pentium 3 (non tutti dipende dal
bios).
Per identificare l'hardware preferisco quindi usare il mac address della
scheda di rete.

 qualcosa in questo senso. Intanto inizio a cercare in rete.
Comunque guarda che il metodo del numero di serie non funziona.
E' sufficiente disabilitare il flag PSN per disabilitare il serial (e il bit
non può essere riabilitato se non riavviando).
Per l'hard disk prova GetVolumeInformation (4° parametro) però non so se è
un numero seriale fisico o logico (cioè creato da Windows).
Kiuhnm

 un numero seriale fisico o logico (cioè creato da Windows).
Sembra essere il numero di volume creato durante la formattazione -- 
faccio solo una congettura, non ho mai usato quella API
Lou

 qualcosa in questo senso. Intanto inizio a cercare in rete.
Per l'hard disk e' possibile estrarre i parametri S.M.A.R.T..
C'era qualcuno tempo fa che aveva spiegato come farlo da codice.
I dati in questione vengono attribuiti dalla casa madre e nono sono
"volatili" come il serial number del disco, che e' un numero soltanto
"logico", assegnato ad ogni nuova formattazione e, comunque, modificabile
(e' contenuto nel boot-sector).



Non vorrei sbagliarmi, ma il mac address non è un dato come dire...
univoco.. lo puoi cambiare modificando la flash della scheda di rete.
So che nell'azienda in cui lavoravo volevano utilizzarlo per implementare il
meccanismo di protezione dalle copie pirata... ma so che NON era un metodo
sicuro in quando era facile modificare il macaddress...
CIAO!
T.

Newsgroup: it.comp.programmare.win32
Titolo: Borland C++ Builder

Salve a tutti,
fino a qualche giorno fa in edicola c'era un giornale che dava gratis
Borland c++ builder 1.01 (mi sembra) e altri compilatori.
Qualcuno mi saprebbe dire:
1) come si chiamava il giornale (e il numero)
2) il nome degli altri compilatori
3) se erano veramente gratis
4) se il c++ builder era per win95 e in versione completa?
Grazie, saluti :)
Marco Zanon (
m.z...@usa.net
)
http://www.geocities.com/SiliconValley/Peaks/6455

Grazie, saluti :)
Ciao


ok grazie 1000,
ciao :-)

Newsgroup: it.comp.programmare.win32
Titolo: External Symbol !

Ciao,
Ho utilizzato la dll trovato sul libro di Richter e
Compilandola con un programma C++ fa il suo lavoro.
Richiamandola, invece, da un programma 4GL o da un piccola
applicazione C# no.
L'errore che mi viene dato e': could not find the entrypoint _ADD@8.
Quindi, come suggerito dal libro, ho aggiunto
la direttiva
#pragma comment(linker, "/export:Add=__Add@8")
ma durante il linking ottendo i seguenti errori
link /dll mylibfile1.obj
-------
mylibfile1.exp : error lnk2001: unresolved external symbol __Add@8
mylibfile1.dll : fatal error LNK1120: 1 unresolved externals
Se faccio pero' un dumpbin della dll, la funzione Add è esportata...
qui sotto ho riporto i codici :
/***************************************************************************
Module:  MyLibFile1.cpp
***************************************************************************/
// Include the standard Windows and C-Runtime header files here.
#include <windows.h>
#pragma comment(linker, "/export:Add=__Add@8")
// This DLL source code file exports functions and variables.
#define MYLIBAPI extern "C" __declspec(dllexport)
// Include the exported data structures, symbols, functions, and variables.
#include "MyLib.h"
////////////////////////////////////////////////////////////////////////////
// Place the code for this DLL source code file here.
long g_nResult;
long Add(long nLeft, long nRight) {
   g_nResult = nLeft + nRight;
   return(g_nResult);
}
////////////////////////////// End of File /////////////////////////////////
----------------------------------------------------------------------------
#ifdef MYLIBAPI
// MYLIBAPI should be defined in all of the DLL's source
// code modules before this header file is included. 
// All functions/variables are being exported.
#else
// This header file is included by an EXE source code module.
// Indicate that all functions/variables are being imported.
#define MYLIBAPI extern "C" __declspec(dllimport) 
#endif
////////////////////////////////////////////////////////////////////////////
// Define any data structures and symbols here.
////////////////////////////////////////////////////////////////////////////
// Define exported variables here. (NOTE: Avoid exporting variables.)
MYLIBAPI long g_nResult;
////////////////////////////////////////////////////////////////////////////
// Define exported function prototypes here.
MYLIBAPI long Add(long nLeft, long nRight);
////////////////////////////// End of File /////////////////////////////////
Ringrazio per eventuali 
suggerimenti o aiuti 
--Filippo

 #pragma comment(linker, "/export:Add=__Add@8")
Non e' che hai messo un underscore di troppo?
HTH
C:\>iao Angelo
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG
Newsgroup: it.comp.programmare.win32
Titolo: Consiglio Editor esadecimale..help!

Scusate l'intrusione..potrei essere OT ma non so a chi rivolgermi.
Cerco disperatamente un editor esadecimale che possa aprire files di grandi
dimensioni e compararne 2 per vederne la differenza..e modificarne il
contenuto.Potreste aiutarmi?
Quale programma potrei prelevare?
Grazie fin da ora.

 wrote in message 7vfqim$h6l$2...@nslave2.tin.it...

Vai a 
http://www.tu-darmstadt.de/~rkibria
scarica frhed (Free Hexadecimal editor) ; ottimo e gratis
Ciao
Paolo Mattiello

 contenuto.Potreste aiutarmi?
Amo alla follia l'Hex Workshop della Breakpoint Software (
www.bpsoft.com
), ma
malauguratamente e` shareware. Puoi comunque usarlo senza limitazioni per un
periodo di prova.
--
Bye! Lorenzo Lutti (
http://www.geocities.com/SiliconValley/Peaks/6258/
)
Newsgroup: it.comp.programmare.win32
Titolo: Update menu con MFC

Salve a tutti,
lavoro con VC++ e MFC. Per gestire l'attivazione e la disattivazione delle
diverse voci del menu (e dei relativi pulsanti della toolbar) ho utilizzato
il classico metodo del messaggio UPDATE_COMMAND_UI.
Per esempio:
void CTemplateFrame::OnUpdateCopiablocco(CCmdUI* pCmdUI)
{
    pCmdUI->Enable(FlagCopia);
}
Leggendo la documentazione mi e' parso di capire che l'aggiornamento dello
stato dei diversi comandi di menu avviene quando il sistema e' idle.
Alcuni miei comandi pero' lanciano funzioni che impiegano alcuni secondi per
essere completati. Puo' succedere quindi che l'utente prema piu' volte un
pulsante della toolbar mentre e' ancora in esecuzione la prima funzione.
Questo mi causa dei malfunzionamenti.
C'e' un modo per forzare l'aggiornamento dello stato dei menu senza
attendere che lo faccia il framework?
 Nell'esempio precedente vorrei cioč impostare la variabile FlagCopia a
FALSE e provocare in qualche modo l'esecuzione di OnUpdateCopiablocco in
modo da disabilitare il relativo tasto.
Grazie a tutti  per l'aiuto.
Ciao.
Vittorio.

 attendere che lo faccia il framework?
Me lo sono chiesto anch'io.. La mia soluzione è brutta, ma funziona benone.
Qualcuno ha qualcosa di più elegante ?
Questo spegne il bottone file new della toolbar se la variabile è vera:
 CToolBar * pToolBar =
(CToolBar*)AfxGetMainWnd()->GetDescendantWindow(AFX_IDW_TOOLBAR);
 pToolBar->GetToolBarCtrl().EnableButton( ID_FILE_NEW,
!m_LongOperationRunning);
Ciao !!

Salve,
volevo ringraziarti per la risposta. Ho provato e funziona correttamente.
Francamente cercavo qualcosa di piu' "standard" che potesse sfruttare meglio
il messaggio WM_COMMAND_UPDATE_UI. Sarebbe stato piu' generale e piu'
semplice da manutenere. Penso per esempio all'inserimento di un nuovo
pulsante in toolbar.
Naturalmente le mie considerazioni sono solo di carattere "costruttivo", ti
ringrazio ancora per l'utile suggerimento.
Ciao.
Vittorio.
"Giacomo" <nob...@no.where> ha scritto nel messaggio
news:A4d8d.24189$H11.7...@twister1.libero.it...


 il messaggio WM_COMMAND_UPDATE_UI.
Anch'io, ma "quelli bravi" tacciono..

 
In generale evita di bloccare il processo primario con funzioni
troppo impegnative, che paralizzano l'applicazione.
Metti la funzione su un thread a se' stante e sincronizza, se
necessario,
il processo principale.
La programmazione multithread e' una regola generale.
(Non date del "quello bravo" per favore :), disincentiva...)
Saluti
JJ
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG
Newsgroup: it.comp.programmare.win32
Titolo: problema con SetParent()

salve, non so se sto facendo una cosa assurda o se invece è fattibile.
Ho un dialogo con i suoi controlli messo su risorsa (file .rc).
Devo creare una window normale, quindi non dialogo, identica al dialogo e 
spostarci i suoi controlli.
Quindi creo il dialogo con
  HWND hwD = ::CreateDialogParam(hI, MAKEINTRESOURCE(Attr.id),
                             hW,
                             (DLGPROC)atomicWindowProc,
                             (long)this);
mi salvo gli stili con
  LONG style = GetWindowLong(hwD, GWL_STYLE);
  LONG exStyle = GetWindowLong(hwD, GWL_EXSTYLE);
più altri valori
Creo la mia finestra di sostituzione
 HWND substWin = ...
richiamo la EnumChildWindows() per ciclare sui controlli e a ciascuno cambio 
il parent in quello nuovo.
distruggo la vecchia window.
La nuova window entra in loop sul messaggio di paint. Ho provato a non 
distruggere la vecchia window (distruggendola alla fine insieme alla nuova), 
si è alluppato tutto il sistema.
Ho provato ad usare la WM_CHANGEUISTATE e la WM_UPDATEUISTATE senza 
risultato.
Qualcuno ha qualche idea?
Grazie

 Qualcuno ha qualche idea?
a parte tutto ti ricordo che su una finestra normale (non dialog) non
potrai usare la IsDialogMessage, e quindi la finestra reagirą in maniera
"strana" ad alcuni messaggi; ad esempio non ti funzionerą il Tab.
tuttavia non credo che il tuo problema di WM_PAINT dipenda da questo.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it


sbagli, la IsDialogMessage() si puņ usare anche con window normali
Newsgroup: it.comp.programmare.win32
Titolo: [VC++6] libreria statica - intellisense

ciao !
qualcuno sa dirmi se e' possibile ottenere il
suggerimento/completamento ( credo si chiami "intellisense" ) anche
per un sorgente che fa uso di una classe all'interno di una libreria
statica ?
e' la prima volta che mio creo una libreria, dentro ho messo una
classe che ha vari metodi. Una volta compilato e linkato ho copiato il
file .LIB e il file header della classe e li ho messi all'interno
della directory radice di un mio semplice progetto con un main, quindi
ho aggiunto #include nomeHeader.h e cio' mi permette di compilare e
linkare correttamente questo semplice progetto che fa uso di istanze
della classe contenuta nella libreria, solo che in fase di editing mi
sarebbe molto utile avere i suggerimenti per i metodi della classe.
suggerimenti ?
grazie in anticipo :)
Chucky. 

 wrote in message
news:65gd00d9k15g1srmg...@4ax.com

Se il tutto è stato introdotto nel progetto (add to Project) dovrebbe
funzionare
e anzi l'intellisense dovrebbe permettere alla pressione di Alt+T
di mostrare il ToolTip e di Ctrl+Alt+T di mostrare una serie di
variabili/funzioni correlate.
Purtroppo anch'io NON capisco come lavori l'intellisense
nel senso che in alcuni file viene a mancare completamente.
Chissà che una buona anima...
Saluti
JJ
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

funzionare
ok ! Risolto :) in pratica cio' che mi mancava era appunto fare add to
Project... pensavo che l'aggiunta al progetto fosse automatica dato
che al momento della compilazione tutto funzionava..
Grazie,
ciao 
Chucky.

Newsgroup: it.comp.programmare.win32
Titolo: Bottone di default in VC++

Ho una Dialog su cui sono presenti dei CButton.
Ho la necessità di rendere uno di questi (non sempre lo stesso) di default 
in 
modo che alla pressione di ENTER non venga chiusa la dialog ma venga 
attivata 
la funzione del tasto.
Ho provato con SetButtonStyle ma continua a chiudere la Dialog quando premo 
ENTER.
Per ora ho risolto intercettando la pressione del tasto enter e 
reindirizzando 
il codice dove voglio io, ma mi chiedevo se esiste un metodo meno 
arzigogolato.
     Massimo
------------------------------------------------------------
 Get your FREE web-based e-mail and newsgroup access at:
 
http://MailAndNews.com
 Create a new mailbox, or access your existing IMAP4 or
 POP3 mailbox from anywhere with just a web browser.
------------------------------------------------------------

 stesso) di default
Puoi usare CDialog::SetDefID(). Dovrebbe funzionare, anche se non l'ho
mai usato.
---
Bye! Lorenzo Lutti
http://antani.virtualave.net/
Newsgroup: it.comp.programmare.win32
Titolo: TTreeView

Qualcuno mi potrebbe suggerire come posso capire quale elemento é stato
selezionato in un TTreeView?
Mai visto componente piú contorto!!
Mi basterebbe sapere il testo di quello che ho selezionato, o chi é
l'owner...
Un piccolo esempio!!!!!! Merci.

 wrote in message
8frv3e$dmf$2...@nslave2.tin.it...

Puoi usare la proprietà selected del TTreeView, che ti restituisce un
oggetto TTreeNode, del quale puoi  prendere la proprietà text
Esempio
treeView:TTreeView;
testo:string;
if treeView.selected<>nil then  {controlli di avere selezionato qualcosa}
 testo:=treeView.selected.text;
Ciao
Ruggero

 oggetto TTreeNode, del quale puoi  prendere la proprietà text
grazie mille :)

Newsgroup: it.comp.programmare.win32
Titolo: acm e wave format

ciao a tutti avrei bisogno di conoscere le impostazioni per i formati audio
da usare
l'apertura di un audio stream !!!
dove posso reperire tali informazioni ?? ( nChannels, nAvgBytePerSec .. .  )
grazie a tutti in anticipo

drk ha scritto:


prova 
www.wotsit.org
, ma credo che il formato wave sia documentato anche
in MSDN.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

Newsgroup: it.comp.programmare.win32
Titolo: Runtime DAO

Salve a tutto il NG.
Volevo un'informazione riguardante le librerie DAO:
sto usando Visual C++ 6.0 e l'eseguibile che ho creato che usa tali librerie
sembra non funzionare se lo porto su macchine che non hanno installato
queste librerie (che si possono installare con molti programmi Microsoft
come il Visual Studio e Office)..
Esiste un modo per ovviare a questo problema?
Quali sono le DLL che mi dovrei portare dietro? Esiste una lista?
Thx.. :-)
CIAO
Rex



dai una occhiata qua
http://support.microsoft.com/support/kb/articles/Q233/0/02.ASP
Vincenzo 'lo sciamano'   Bologna (ITALIA-ITALY)
Homepage  
http://www.geocities.com/vincesalsero/
Membro Fondatore del CSM (Club Seghe Mentali)
http://www.freeweb.org/free/csm
Newsgroup: it.comp.programmare.win32
Titolo: gunzip per DOS?

Ho usato il gzip per Unix per comprimere dei files come *.gz, ora mi
serve qualcosa di simile al gunzip per recuperare i files SOTTO DOS.
Conoscete un sito dove posso trovarlo.. Io ho cercato su Internet ma non
sono riuscita a trovare niente...
--
sWiTcH
"...being angel is too hard, you don't need wings to be... a devil..."

serve qualcosa di simile al gunzip per recuperare i files SOTTO DOS.
www.gzip.org
mi pare sia stato compilato anche per DOS
-- 
-----BEGIN GEEK CODE BLOCK-----
Version 3.1 (with proprietary extensions)
Comments: waiting for version 4.0 ;)
GE/M/S/O d- s:--- !a C++++()>$ UL P+>+++ L+>++ e w++>$ N++ o-- K- W++ O? 
M? V? PS++ PE- Y+>+++ PGP++ t+ 5? X++(+) R tv--  b++>++++ DI++ D++ G-- e 
h! !r xy**
------END GEEK CODE BLOCK------

 wrote in message
3A66F3B6...@tiscalinet.it...

Il WinZip (anche le versioni piuttosto vecchiotte) gestiscono i file .gz (i
.tar non ne sarei cosě sicuro ma i .gz li uso in continuazione).
Non so se puoi disporre di Windows (hai scritto "SOTTO DOS") altrimenti la
soluzione č semplice, usi il WinZip.
Comunque se ti serve proprio sotto Dos senza passaggi intermedi io proverei
ad utilizzare il vecchio
PKZIP, con i .gz potrebbe funzionare.
Ciao

 Ciao
All'inizio ho effettivamente usato Winzip e funzionava.. Il problema pero' e'
che non riesco a sincronizzare winzip con l'applicativo che lo lancia, per cui
ho pensato alla soluzione per DOS.
Ora sono riuscita a trovare il gunzip (pkunzip non va bene con i gz, apre solo
gli zip) ma OVVIAMENTE e' sorto un altro problema. Sottolineo di nuovo che sto
usando VB. Avrei bisogno di aprire una shell e poterla usare direttamente.
Esiste il comando Shell, ma serve solo a lanciare la shell con un comando alla
volta. Oltretutto mi chiude subito la finestra per cui non vedo nemmeno gli
errori! Avrei bisogno di poter aprire una shell, usarla come mi pare e
chiuderla quando non mi serve piu'. COME FACCIO?????
Grazie, per ora :)



Non chiederlo a me. Io non so NIENTE di VB, cmq penso che voler lanciare un
programma di decompressione
da programmare e voler controllore gli errori di decompressione sia una
bella rogna...
Ciao, Max

 - Trion Homepage
-- 
Posted from 
mail.jumpy.it
 [212.239.30.36] (may be forged) 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 writes:
s> All'inizio ho effettivamente usato Winzip e funzionava.. Il
s> problema pero' e' che non riesco a sincronizzare winzip con
s> l'applicativo che lo lancia
Volendo ci sono sia tar che gzip per Win32, solo che vengono distribuiti
insieme ad un blocco di comandi piuttosto corposo.
Poi dovrebbero esserci dei binari di tar e gzip nello NT Resource Kit.
Questi   li  puoi   controllare  tranquillamente   con  CreateProcess,
WaitForSingleObject e probabilmente prendendo l'output con una pipe.
--
Gian Uberto| main(){printf(&unix["\021%six\012\0"],(unix)["have"]+"fun"-0x60);}
Lauri      |                        David Korn, 1987 ioccc best one liner 
(aka saint)|-------------------------------------------------------------------
em@ail: sierra alfa india november tango AT echo november golf DOT india tango
Newsgroup: it.comp.programmare.win32
Titolo: Termini strani, aiuto!!!

E' da poco che mi sono accostato alla programmazione in win32 e frequentando
questo N.G. ho incontrato diversi termini che non conosco, qualcuno potrebbe
spiegarmeli?
- MFC
- VCL
- SDK
- framework
- OWL
- Dfm2API
- ActiveX
- CUI
- GUI
- win 2k
- .NET
- C#,
- RAD
Inoltre vorrei sapere in breve le differenze tra i linguaggi Delphi, C++
Builder, VB, VC++ e quali sono migliori per la programmazione win32 (ora
programmo in C++)
Grazie a tutti

 - RAD
Rapid Application Development.
p.s. perchè non le mettiamo nelle FAQ?
ciao :: xaero

Common user interface.
Nell'ambito Win32 indica "Console User Interface"
(contrapposta alla Graphical User Interface).

 (contrapposta alla Graphical User Interface).
o anche "Character-Oriented User Interface"
(fonte: Babylon)
ciao :: xaero

 (fonte: Babylon)
oppure Characterbasedlikeolddosapplications User Interface ;-)
Beh, io ho sempre sentito dire Console User Interface, ma Character-Oriented
User Interface mi sta bene. Non certo Common User Interface pero' (almeno
quando si parla di win32) !!!
Alex

 quando si parla di win32) !!!
no, infatti Common User Interface era una cosa di IBM.
ciao :: xaero

no, infatti Common User Interface era una cosa di IBM.
Che, tanto per aggiungere un particolare, era lo standard
seguito da Turbo Vision di Borland, la libreria ad oggetti
per la realizzazione di interfacce utente in modalita'
testo.

testo.
Appropò, una curiosità, della Turbo Vision è stato mai pubblicato il 
sorgente? (non è importante, casomai mi servisse qualcosa del genere, 
qui ho pur sempre la DFlat32...)

Newsgroup: it.comp.programmare.win32
Titolo: Riepilogo linguaggi

Salve,
ho le idee un po' confuse.
Chi mi aiuta a completare la lista ?
[casa]
  [nome prodotto] - [ultima versione] - [tipo di linguaggio]
Borland / Imprise
  Delphi - 5 - Pascal
  C++ Builder - 5 - C
  JBuilder - 3.5 - java
  Borland C++ compiler - 5.5 - C
  JBuilder Foundation - 3.5 - java
 
Microsoft
  Visual Basic - 6 - Basic
  Visual C++ - 6 - C
  Visual FoxPro - 6 - ?
  Visual InterDev - 6 - ?
  Visual J++ - 6 - java
SUN
  jdk - 1.2 - java
?
  MFC - ? - ?
?
  Clipper - ? - ?
?
  FiveWin - ? - ?
GRAZIE  1000
faf...@tiscalinet.it
 

  Clipper - ? - ?
Linguaggio di programmazione ad alto livello, evoluzione del DBase,
molto simile, come sintassi, al C per la scrittura di applicazioni
gestionali.
Newsgroup: it.comp.programmare.win32
Titolo: identificazione dei controlli di una dialogbox

save
ho una dialogbox che nella sua wndproc crea più controlli di testo per
ricevere input dall'utente
(tipo nome, cognome etc....), in questo modo:
 wm_create:
     hwnd t1= crea controllo testo 1;
     hwnd t2= crea controllo testo 2;
     hwnd t3= crea controllo testo 3;
break;
la dialogbox ha un pulsante che quando si preme dovrebbe indicare che
l'utente ha inserito i dati
(o qualcuno di essi...):
a,b,c sono char[50];
switch(message){
     case bn_clicked:
          GetDlgItemText(hwnd,GetDlgCtrlID(t1),a,50);
          std::cout<<"a:"<<a<<std::endl;
          GetDlgItemText(hwnd,GetDlgCtrlID(t2),b,50);
          std::cout<<"b:"<<b<<std::endl;
          GetDlgItemText(hwnd,GetDlgCtrlID(t3),c,50);
          std::cout<<"c:"<<c<<std::endl;
     break;
}
il risultato è che solo il primo dei controlli (in ordine di
dichiarazione credo) cattura il testo inserito e se riempio le altre
due caselle con del testo non accade nulla, inoltre quando a,b,c
vengono stampati b e c riportano gli stessi valori di a.....
qualcuno capisce che ho combinato?

      hwnd t3= crea controllo testo 3;
Ma non è che qui stai ridefinendo t1, t2 e t3? Prova a togliere 
hwnd e a definire i tre handle fuori dalla wndproc (se non lo 
hai già fatto): cambia qualcosa? Non ho occasione di provare 
quindi scusatemi se ho detto una sciocchezza.
-- 
Stefano Frosio
www.esse-effe.com

 hwnd e a definire i tre handle fuori dalla wndproc
le maniglie sono già definite all'esterno della procedura.
ho riportato male, chiedo scusa.....
michele

Newsgroup: it.comp.programmare.win32
Titolo: Libro su windows

Esiste in rete qualche buon libro sulla programmazione in Windows, del 
tipo Thinking in C++ ecc.?
Ringrazio in anticipo.
Franco

Win32 SDK Reference
è un file .hlp da 12 mega
cerca win32.hlp con ftpsearch, sicuramente lo troverai
--
ciao
..::[xaero]::..
"Franco" ha scritto nel messaggio:


cerca win32.hlp con ftpsearch, sicuramente lo troverai
10.7MB per l'esattezza, l'ho scaricato, ma è un disastro, non c'è indice,
non c'è niente, o forse sono io che non ho capito come si usa.
Bye

 ha scritto nel messaggio
news:93ci2d$9kvbt$1...@ID-35385.news.dfncis.de...

Newsgroup: it.comp.programmare.win32
Titolo: Common dialog - CDERR_INITIALçIZATION

devo utilizzare il common dialog APRI. ecco il codice:
    TCHAR szFile[MAX_PATH];
    OPENFILENAME ofn;
    ZeroMemory(&ofn, sizeof(OPENFILENAME));
    ofn.lStructSize = sizeof(OPENFILENAME);
    ofn.hwndOwner = hWnd;
    ofn.lpstrFile = szFile;
    ofn.nMaxFile = sizeof(szFile);
    ofn.lpstrFilter = "Microsoft WAVE files\0*.wav\0";
    ofn.nFilterIndex = 1;
    ofn.lpstrFileTitle = NULL;
    ofn.nMaxFileTitle = 0;
    ofn.lpstrInitialDir = NULL;
    ofn.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST;
    if(GetOpenFileName(&ofn) == TRUE)
    {
     MessageBox(hWnd, ofn.lpstrFile, 0, 0x40);
    }
ma non visualizza un bel niente, e CommDlgExtendedError() mi
restituisce CDERR_INITIALIZATION
dove sbaglio?
grazie
ciao
xaero



     ofn.lStructSize = sizeof(OPENFILENAME);
Prova a mettere OPENFILENAME_SIZE_VERSION_400
  ofn.lStructSize = OPENFILENAME_SIZE_VERSION_400;
A me era capitato e così era andato a posto, però
o GetLastError o CommDlgExtendedError mi indicavano errore
nel size. Deve esserci qualche conflitto tra gli header e le
dll a parità di versione.
Ciao Massimo

 TCHAR szFile[MAX_PATH];
Devi specificare qualcosa, come minimo una stringa vuota "".
---
Bye! Lorenzo Lutti
http://antani.virtualave.net/

Newsgroup: it.comp.programmare.win32
Titolo: Problema Win.INI

Scusate se sono OT
sono nuovo e non so se mi trovo nel NG giusto
Ho un problema:
All'avvio del PC
mi esce il messaggio:
Impossibile trovare il file "(nome strano di caratteri mai visti) o uno dei
suoi componenti Verificare che il percorso e il nome del file siano corretti
e che tutte le librerie necessarie siano disponibili.
OK e nuovo messaggio:
Impossibile caricare o eseguire il programma (stesso nome) specificato in
Win.INI controllare che il programma esista oppure rimuovere la riga di
Win.INI relativa al programma.
Rimuovo la riga
ma alla seconda partenza successiva il messaggio ricompare.
Che seccatura!!!!
Qualcuno puņ aiutarmi a liberarmi di questa ossessione?
Grazie

 ma alla seconda partenza successiva il messaggio ricompare.
A mio parere hai un virus oppure ti si è installato, tramite Web, uno di
quei simpatici
programmini che ti lanciano connessioni verso siti particolari (porno,
commerciali ecc.)
Ellebi


e in tal caso come posso individuare il programma?
grazie comunque,

Fai un bel controllo dei progr. che partano all'avvio e fai anche una bella
ricerca e relativa pulizia nel registro di sistema (regedit). Magari fai una
bella scansione per virus in modalità provvisoria...... cmq ti conviene
chiedere su it.comp.aiuto
CIAO

Newsgroup: it.comp.programmare.win32
Titolo: Servizi NT

Sono alle prese con la scrittura di un servizio per Win2K in C\C++ .
Avrei bisogno di vedere un po di codice e di reperire info dettagliate
in merito .
grazie

 ha scritto nel messaggio 
news:5j5611dnvmbhcut9j...@4ax.com...

Newsgroup: it.comp.programmare.win32
Titolo: Impostare uno screen saver

Ciao,
vorrei sapere come si fa ad impostare uno screen saver da programma,
ossia l'equivalente programmatico dell'andare nel pannello di controllo,
cliccare su screen saver, e selezionarne uno.
Grazie anticipatamente,
ciao.
U.R.

 ha scritto nel messaggio
news:39D77755...@katamail.com...


Newsgroup: it.comp.programmare.win32
Titolo: Internet senza pubblicita'

E' possibile, usando Internet Explorer, FireFox, Opera o qualche altro
browser, fare in modo che le finestre con immagini in movimento (che
di solito sono pubblicita') NON vengano VISUALIZZATE?
Ringrazio tutti coloro che risponderanno.

"Bracco Baldo"  ha scritto

se hai mozilla firefox, puoi scaricare un plu-in
https://addons.mozilla.org/it/firefox/addon/1865
e installarlo
trovi le istruzioni per installarlo qui
http://www.ruzzoworld.net/ruzzoworld/viewtopic.php?p=20026&sid=cc59f54d86092a8c0fcb06412eb2556f
però, se fanno tutti così, la pubblicità non pagherà più e il sistema si 
blocca!
Hamlet
my blog 
http://technosoc.blogspot.com/
Newsgroup: it.comp.programmare.win32
Titolo: Come faccio a ridisegnare...

Salve!
Avrei un piccolo problema:
dopo aver creato una finestra principale, mi serve di creare n
finestre-pulsanti child, e fin qui tutto bene visto che le riesco a
creare con questa funzione,
#Begin
hwndButton = CreateWindow(  
    "BUTTON",   // predefined class 
    "OK",       // button text 
    WS_VISIBLE | WS_CHILD | BS_DEFPUSHBUTTON,  // styles 
 
    // Size and position values are given explicitly, because 
    // the CW_USEDEFAULT constant gives zero values for buttons. 
    10,         // starting x position 
    10,         // starting y position 
    100,        // button width 
    100,        // button height 
    hwnd,       // parent window 
    NULL,       // No menu 
    (HINSTANCE) GetWindowLong(hwnd, GWL_HINSTANCE), 
    NULL);      // pointer not needed 
#End
ma il problema si pone quando devo ridisegnare il contenuto della
finestra, visto che il bottone creato con suddetta funzione non viene
ridisegnato.
Mi serve assolutamente, PLZ!! :-§
T.I.A
Francesco
-- 
+-------*Le tre leggi del buon utente*-------+
|============================================|
+-1ø:Un utente non puo' nuocere al suo PC ne'|
|    tramite la sua colpevole inerzia permet-|
|    tere che il suo PC subisca un danno.    |
+-2ø:Un utente deve soddisfare le richieste  |
|    di sistema a meno che queste non contra-|
|    stino con la prima legge.               |
+-3ø:Un utente deve pensare ai suoi interessi|
|    installando il software di cui ha biso- |
|    gno a meno che questo non contrasti con |
|    la prima e la seconda legge.            |
|============================================|
+-Legge Zero---------------------------------+
|Un utente non puo' installare Windows, o cau|
|sera' la fine del suo PC e la rovina dell'u-|
|manita' !!!! Cobra(
franc...@iol.it
)      |
|                  (
maraf...@xoommail.com
)|
|============================================|

Puoi usare
   BOOL  UpdateWindow(HWND hwnd)
con hwnd handle della finestra genitrice.
Ciao,
Alessandro
bus...@newtech.it

 Alessandro
Grazie Alessandro!
Ho un altro problema (uffa! ma sei incorregibile), quando sposto un'altra
finestra sopra quella con il bottone questo scompare.
Come posso fare ??
T.I.A Francesco
-- 
+-------*Le tre leggi del buon utente*-------+

Newsgroup: it.comp.programmare.win32
Titolo: Come controllare una scrollbar da codice?

Brevemente, lavoro in VBA (access), ho una sottomaschera con una barra di
scorrimento verticale, ho l'handle della finestra (la sottomaschera).
Quali API devo usare per memorizzare l'impostazione attuale della barra di
scorrimento verticale? E come faccio poi a reimpostarla?
L'idea è quella di memorizzare lo stato della scrollbar, fare un requery dei
dati (che mi resetta la scrollbar :-(  e poi reimpostare la scrollbar alla
posizione precedente.
Come si può fare?
Grazie, Max

scorrimento verticale? E come faccio poi a reimpostarla?
Guarda le funzioni :
GetScrollInfo
SetScrollInfo

 ha scritto nel messaggio
news:3c4f048a...@powernews.inwind.it...

Ok, me le andro a vedere... però ti chiederei un altro favore...
è che nonho quasi mai usato le API, e non ne so nulla, e quindi partendo
dall'handle della finestra non ho idea di come si fa ad arrivare
all'identificatore (o quello che è) delle singole scrollbar.
Almeno, suppongo che sia necessario qualcosa del genere...
Comunque grazie, andrò a sfogliarmi l'msdn :-)
Ciao, Max
Newsgroup: it.comp.programmare.win32
Titolo: Un programmatore (forse OT)

Salve gente. Mi stavo chiedendo una cosa.
Ma un programmatore cosa fa ?
Programma ?
Se sì che cosa ?
Lo chiedo perchè mi sto arrampicando tra le API di Windows e non riesco a
trovare mai a trovare GetProgrammingEssence(), l'essenza della
programmazione.
Un pò perchè vivo nella giungla.
Quello che più mi interessa è dove si orientano le aziende? Cosa hanno in
mente? Oggi ci sono talmente tante tecnologie: COM, Win32, MFC, Api azzurre,
verdi, ambienti di programmazione diversi: Borland, M$. Linguaggi diversi:
Delphi, Pingui, C, C++, C--, Visual Basic, Visual Lego. A volte ho
l'angoscia e mi chiedo se sto imparando a programmare nel linguaggio giusto.
Poi un'altra cosa. Ammesso che non è da umano impararsi a memoria tutte le
Api, un programmatore esperto lo si distingue dalla quantità di codice che
stende al giorno o dalla complessità dell'algoritmo che produce, insomma
dalla capacità di affrontare problemi diversi in tempi anche non troppo
brevi ?
Mi sembra di aver capito che le reti, database e grafica vanno alla grande.
Su cosa sarebbe preferibile orientarsi (in termini di opportunità di lavoro)
?
Chi si occupa di database cosa programma ?
Non credo un altro Microsoft Access, dal momento che esiste già e che tutti
lo usano. (forse mi sforzo a pensare questo perchè la pirateria è talmente
tanta che mi sembra che tutti i software del mondo siano già stati creati.)
E chi programma le reti cosa fa?
Perdonatemi la momentanea angoscia ma avevo bisogno di sfogarmi.
Se mi ritenete così disperato da darmi (per pietà) risposte fasulle alle
domande poste fatelo pure, altrimenti continuate a stendere il vostro codice
sperando che un giorno un Hitler della programmazione (vedasi zio Bill) non
vi imponga un ambiente strano che tutti conoscono tranne voi :-P (skerzo).
Un saluto
Claudio
p.s. Non programmate per + di 10 ore consecutive le Api di Windows. Zio Bill
vi potrebbe dare alla testa.

 wrote in message
news:vPO%6.12760$_F1.1...@news2.tin.it...


Risposta esatta !!!!
Sono a pezzi. E devo ancora fare l'esame di stato !!!!!
"Bob Rock" <yet_another_apprentice@_hotmail_.com> ha scritto nel messaggio
news:4aX%6.318$rc5....@news.cpqcorp.net...



[MegaCut]
Io invece credo che tu abbia bisogno urgente di imparare a quotare, ci
faresti un grosso favore a tutti quanti :-)
-- 
So I dub thee Unforgiven.

 Bill vi potrebbe dare alla testa.
si vedono gli effetti....

 Bill vi potrebbe dare alla testa.
si vedono gli effetti....