Ðåôåðàòû. Win32-ïðèëîæåíèå Êàðòîòåêà àóäèî äèñêîâ

                sprintf(name,"%s","");

                return 0;}



/* ##################################### */

/* ### ÄÈÀËÎÃÈ - ÎÁÐÀÁÎÒÊÀ ÑÎÎÁÙÅÍÈÉ ### */

/* ##################################### */



LRESULT CALLBACK addTrackDlgProc(HWND hwndDlg,UINT uMsg,WPARAM wParam,LPARAM lParam)

{

                int id=LOWORD(wParam);

                static int ind=lParam,pos=0;

                int i;

                switch (uMsg)

                {

                               case WM_INITDIALOG:

                                               ind=lParam;

                                               for (i=0;i<dwWkCount;i++)

                                                               if (WkRec[i].ind==ind)

                                                                              pos = i;

                                               SetDlgItemText(hwndDlg,IDC_EDIT_TRACK,WkRec[pos].cTrack);

                                               SetDlgItemText(hwndDlg,IDC_EDIT_SINGER,WkRec[pos].cSinger);

                                               SetDlgItemText(hwndDlg,IDC_EDIT_DATE,WkRec[pos].cDate);

                                               return FALSE;

                                               break;

                               case WM_COMMAND:

                                               switch (id)

                                               {

                                                               case IDC_OK:

                                                                              GetDlgItemText(hwndDlg,IDC_EDIT_TRACK,WkRec[pos].cTrack,100);

                                                                              GetDlgItemText(hwndDlg,IDC_EDIT_SINGER,WkRec[pos].cSinger,30);

                                                                              GetDlgItemText(hwndDlg,IDC_EDIT_DATE,WkRec[pos].cDate,20);

                                                                              EndDialog(hwndDlg,0);

                                                               break;

                                               case IDC_CANCEL:

                                                               EndDialog(hwndDlg,1);

                                               break;

                                               }

                                               break;

               

                               default:

                                               return FALSE;

                }

}

int GetMaxInd()

{

                int maxind=0;

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

                {

                               if (WkRec[i].iNum>maxind)

                               {

                                               maxind=WkRec[i].iNum;

                               }

                }

                return maxind;

}


LRESULT CALLBACK addDiskDlgProc(HWND hwndDlg,UINT uMsg,

                                                                                                                             WPARAM wParam,LPARAM lParam)

{

                int id=LOWORD(wParam);

                static int ind=lParam,pos=0;

                int i;

                switch (uMsg)

                {

                               case WM_INITDIALOG:

                                               ind=lParam;

                                               for (i=0;i<dwWkCount;i++)

                                                               if (WkRec[i].ind==ind)

                                                                              pos = i;

                                               SetDlgItemText(hwndDlg,IDC_EDIT_GROUP,WkRec[pos].cGroup);

                                               SetDlgItemText(hwndDlg,IDC_EDIT_ALBUM,WkRec[pos].cDisc);

                                               return FALSE;

                                               break;

                               case WM_COMMAND:

                                               switch (id)

                                               {

                                                               case IDC_OK:

                                                                              GetDlgItemText(hwndDlg,IDC_EDIT_GROUP,WkRec[pos].cGroup,50);

                                                                              GetDlgItemText(hwndDlg,IDC_EDIT_ALBUM,WkRec[pos].cDisc,30);

                                                                              WkRec[pos].iNum=GetMaxInd()+1;

                                                                              EndDialog(hwndDlg,0);

                                                               break;

                                               case IDC_CANCEL:

                                                               EndDialog(hwndDlg,1);

                                               break;

                                               }

                                               break;

               

                               default:

                                               return FALSE;

                }

}


LRESULT CALLBACK AboutDlgProc(HWND hDlg,UINT uMsg,WPARAM wParam,LPARAM lParam)

{

                switch(uMsg)

                {

                               case WM_INITDIALOG: {return TRUE;};

                               case WM_COMMAND:

                                               switch(LOWORD(wParam)){

                                                               case IDOK:{

                                                                              EndDialog(hDlg,0);

                                                                              return TRUE;}}

                                               break;

                               default:

                                               return(FALSE);

                }

                return(TRUE);

}


UINT AddNewItem(UINT iType,UINT iParent)

{

                //Ñîçäàåì âðåìåííóþ ðàáî÷óþ ñòðóêòóðó

                WorkRecord *temp;

                temp=new WorkRecord[dwWkCount];

                UINT max=WkRec[0].ind;

                //Êîïèðóåì âî âðåìåííóþ ñòðóêòóðó ðàáî÷óþ. Íàõîäèì ïîñëåäíèé èíäåêñ

                // â ðàáî÷åé ñòðóêòóðå

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

                {

                               if (max<WkRec[i].ind)

                                               max=WkRec[i].ind;

                               temp[i]=WkRec[i];

                }

                // Ïåðåñîçäàåì ðàáî÷óþ ñòðóêòóðó ñ íîâûì ðàçìåðîì

                delete [] WkRec;

                WkRec=new WorkRecord[++dwWkCount];

                //Êîïèðóåì çàïèñè èç âðåìåííîé ñòðóêòóðû â ðàáî÷óþ

                for (i=0;i<dwWkCount-1;i++)

                {

                               //ZeroMemory(&WkRec[i],sizeof(WorkRecord));

                               WkRec[i]=temp[i];

                }


                // Î÷èùàåì ïîñëåäíèé "íîâûé" ýëåìåíò ðàáî÷åé

                // ñòðóêòóðû è çàíîñèò çíà÷åíèÿ ïî óìîë÷àíèþ

                ZeroMemory(&WkRec[dwWkCount-1],sizeof(WorkRecord));

                WkRec[dwWkCount-1].ind=++max;

                WkRec[dwWkCount-1].iType=iType;

                WkRec[dwWkCount-1].indParent=iParent;

                delete []temp;

                return max;

}



BOOL DeleteRec(int index)

{

               

                // Ïðîâåðÿåì åñòü ëè ñâÿçàííûå çàïèñè

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

                               if (WkRec[i].indParent==index)

                               {

                                               MessageBox(NULL,"Óäàëèòå ñâÿçàííûå äàííûå","Îøèáêà",MB_OK);

                                               return FALSE;

                               }

                // Èùåì ïîçèöèþ óäàëÿåìîãî ýëåìåíòà

                int pos;

                for (i=0;i<dwWkCount;i++)

                               if (WkRec[i].ind==index)

                                               pos=index;

                // Åñëè óäàëÿåìûé ýëåìåíò íå ïîñëåäíèé,

                //òî ïåðåíîñèì ïîñëåäíèé íà ìåñòî óäàëÿåìîãî.

                               dwWkCount--;

                if (pos!=dwWkCount)

                               WkRec[pos] = WkRec[dwWkCount];

                // Êîïèðóåì çàïèñè âî âðåìåííóþ ñòðóêòóðó

                WorkRecord *temp;

                temp=new WorkRecord[dwWkCount];

                for ( i=0;i<dwWkCount;i++)

                {

                               temp[i]=WkRec[i];

                }

                //Óäàëÿåò ðàáî÷èå çàïèñè

                delete [] WkRec;

                // Ñîçäàåò íîâûå ðàáî÷èå çàïèñè

                WkRec=new WorkRecord[dwWkCount];

                for (i=0;i<dwWkCount;i++)

                {

                               WkRec[i]=temp[i];

                }

                delete []temp;

                return TRUE;

}



void MakeTree()

{

                TV_DeleteAll();

                WkRec[0].ind=0;

                WkRec[0].indParent=0;

                WkRec[0].iType=5;

                WkRec[0].hTree=  TV_InsertItem("Êîëëåêöèÿ", HANDLES.hWndTreeView, TVI_ROOT, 0,0);

                HTREEITEM parent=WkRec->hTree;

                // Èíèöèàëèçàöèÿ äèñêîâ

                for (int i=1;i<dwWkCount;i++)

                {

                               if (WkRec[i].iType==0)

                                               WkRec[i].hTree=TV_InsertItem(WkRec[i].cDisc,

                                               HANDLES.hWndTreeView,parent,1,WkRec[i].ind);

Ñòðàíèöû: 1, 2, 3, 4, 5, 6



2012 © Âñå ïðàâà çàùèùåíû
Ïðè èñïîëüçîâàíèè ìàòåðèàëîâ àêòèâíàÿ ññûëêà íà èñòî÷íèê îáÿçàòåëüíà.